Bonjour,
Je dois traduire un gros livre (200 pages) et les tomes suivants de l'anglais vers le français. Le problème est que la version que je possède comporte de nombreuses marques de fin de paragraphe en plein milieu de phrases. Et ceci des milliers de fois.
J'ai donc créé une macro qui fait le travail en plusieurs étapes afin de nettoyer le texte de tout un tas de bizarreries. Tout fonctionne bien jusqu'à la dernière étape où je dois remettre un caractère de fin de paragraphe à chaque fin de paragraphe. J'ai donc remplacé ce caractère "$" par un caractère non utilisé "µ". A la dernière étape, je remplace le caractère de substitution "µ" par "\n" dans le mode "Expression régulière". Et là, bizarrement, ça ne me remplace que 1, 2 ou 3 caractères seulement. Pour tout faire, il faut que je relance la macro. Je sais que je peux toujours le faire avec la boite "rechercher et remplacer alternatif" qui fonctionne bien en une seule passe, mais j'aimerais bien finir ma macro. D'autant plus que pour traiter un livre de 200 pages, cela risque de prendre la nuit.
Voici donc la partie condensée de la macro qui me pose problème :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 Sub Reformate_texte_a_traduire() ' ************************************************** ' cette macro remplace le caractère "µ" par une fin de paragraphe ' ************************************************** Dim monDocument as Object Dim jeCherche as Object Dim compteur as Long ' nb d'occurences trouvées et/ou remplacées Dim Entree as String Dim Sortie as String monDocument = ThisComponent compteur = 0 Entree = "µ" Sortie = "\n" monDocument = ThisComponent jeCherche = monDocument.createReplaceDescriptor jeCherche.SearchRegularExpression = True jeCherche.SearchString = Entree jeCherche.ReplaceString = Sortie compteur = monDocument.replaceAll(jeCherche) Print "Nombre de remplacements : " & compteur End sub
Et un petit texte de test avec 6 remplacements :
Je vous remercie d'avance.Bonjour à tous.µCeci est un texte de test.µIl va servir à tester la conversion du caractère "Mu" en caractère de fin de paraphaphe.µPar une macro, cela devrait fonctionner en une seule passe mais la macro ne me remplace que 1 ou 2 caractères quand ça lui plait.µPourtant, ça marche très bien avec l'outil "Alt. rechercher-remplacer" du menu avec l'option "Expressions régulières.µMerci de m'aider.µJean-Luc
Partager