Bonjour, j'essaie actuellement de remplacer les abréviations présentes dans un document par les abréviations en une autre langue (genre transformer les PRAS "Plan Régional d'Affectation du Sol" par des GBP "Gewestelijk Bestemmingsplan".
Le faire mot après mot est assez chronophage pour des documents faisant plusieurs 100aines de pages, du coup j'avais envie de crééer un script pour ça.
J'ai trouvé le script ci-dessous qui remplace efficacement un mot par un autre.
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 Sub SimpleReplace() Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "a" .Replacement.Text = "b" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll End Sub
L'idéal maintenant serait de faire une loop (avec i pour l'exemple) avec ce script où le .Text irait prendre genre la cell Ai et où le .Replacement.Text prendrait la cell équivalente Bi d'un excel indépendant du word que je cherche à traduire.
Je suis complet débutant sur VBA, donc je ne sais même pas si je peux aller chercher un argument dans une autre instance Office (c'est à dire l'excel) que le word dans lequel je suis de base.
La finalité de la macro serait que "pouf" j'appuie dessus et toutes les abréviations du texte se changent toutes seules en se référant à l'excel de traduction.
Merci pour votre aide,
A+
Partager