Bonjour,
Je fais du VB pour la première fois aujourd'hui et j'avoue ne pas tout comprendre ...
Je cherche simplement à remplacer des chaînes de caractères dans un document Word (par exemple remplacer [nom] par Toto). La fonction que j'ai écrite fonctionne si mon texte à rechercher ne se trouve pas dans une zone de texte Word (menu insertion/Zone de texte) !! J'ai absolument besoin d'utiliser des zones de texte !
Ce qui est étrange c'est que lorsque je lance la commande rechercher/remplacer sous Word, celui ci me remplace bine les mots situés dans les zones de texte !
Voici le code VB
Quelqu'un a-t-il déjà rencontré ce 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
27
28
29
30
31
32
33
34
35
36 Sub Remplacer_texte(Texte_à_remplacer As Variant, Texte_de_remplacement As Variant, Tout As Boolean) With Word_Application .Selection.find.ClearFormatting .Selection.find.Replacement.ClearFormatting With .Selection.find .Text = Texte_à_remplacer .Replacement.Text = Texte_de_remplacement .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With .Selection.find.Execute With .Selection If .find.Forward = True Then .Collapse Direction:=wdCollapseStart Else .Collapse Direction:=wdCollapseEnd End If If Tout Then .find.Execute Replace:=wdReplaceAll Else .find.Execute Replace:=wdReplaceOne End If End With End With End Sub
Merci d'avance.
Partager