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 72,1% France
Canada 7,7% Canada
Belgique 3,8% Belgique

Total:

117

Pays
018308637
Aujourd'hui: 38
Hier: 386
Cette semaine: 1.367
Semaine dernière: 2.467
Ce mois: 4.029