Recherche

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()
' 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


 

 

Statistiques

France 74,8% France
Canada 8,5% Canada
États-Unis d'Amérique 5,1% États-Unis d'Amérique

Total:

60

Pays
018271688
Aujourd'hui: 21
Hier: 96
Cette semaine: 754
Semaine dernière: 1.101
Ce mois: 4.485