• L'espace fine existe-t-elle dans Word ?

  • Accentuer les majuscules

  • Mon clavier perso ou comment personnaliser son clavier

  • Comment générer du faux texte ?

  • Comment insérer une image en fond de page?

  • Bonjour les Quickparts, adieu les Insertions Auto !

  • Comment faire pour qu'une macro démarre toute seule ?

  • Comment attacher un modèle à un document ?

  • PowerPoint et les fichiers MP3

  • A quoi sert l'ancre qui s'affiche quelquefois dans la marge gauche ?

  • Comment créer un bouton qui envoie le fichier en cours ?

 
 

 

 

Ce n'est pas si simple car il faut remplacer la marque de paragraphe par une espace sous peine de voir des mots collés lors du regroupement des lignes. Cette opération risque à son tour de placer des espaces en trop (surtout dans les textes ascii).

Voici une macro qui fait environ 98% du travail. Elle est perfectible bien entendu. Lors d'une première passe elle remplace par une espace tous les retours chariot non précédés d'un point, d'un ! ? : ou d'un autre retour chariot.

Dans une deuxième passe elle réduit toute suite d'au moins deux espaces à une seule.

 

 

Sub ReformateTexteBrut()
'On Error Resume Next
'macro écrite par anacoluthe
' Supprime les sauts de ligne - paragraphes d'un texte brut
' 1° Remplace les sauts de ligne superflus par des espaces
Selection.HomeKey Unit:=wdStory
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "([!\?.\!:^13])(^13)"
.Replacement.Text = "\1 "
.Forward = True
.MatchWildcards = True
.Execute Replace:=wdReplaceAll
' 2° Elimine tous les espaces en double
Selection.HomeKey Unit:=wdStory
.Text = " {2;}"
.Replacement.Text = " "
.Execute Replace:=wdReplaceAll
End With
End Sub



 

Nouveau sondage !

Les forums - Outlook ?

 
 
 

Statistiques

2861243
Aujourd'hui1915
Hier2042
Cette semaine3957
Ce mois-ci12129
Depuis janvier 20042861243
Compteur d'affichages des articles
5538962

A lire de toute urgence...

Qui est en ligne ?

Nous avons 57 invités et aucun membre en ligne