Bonjour,
J'ai des centaines de documents Word, dans lesquels je surligne des caractères afin de les mettre en valeur. Ce ne sont pas forcément des mots, mais des caractères (documents techniques).
Je veux changer la couleur d'un surlignage: tout ce qui est en violet, doit devenir rose.
J'ai du temps. Faire ce changement, petit à petit, document par document, n'est pas un problème.
Je me dirige donc vers une macro VBA sous Word.
J'ai un code qui fonctionne presque. Mais je n'arrive pas à passer la cap du "presque":
. le code met bien ce qui est déjà surligné en rose,
. mais il bascule en rose TOUT ce qui est surligné. Or je le ne veux basculer que le violet en rose.
Attention: c'est pour un Office Pro 2010. Désolé...
Dans le bloc "With rng.Find", j'ai tenté, sans succès (j'ai l'impression que sous 2010 cela n'existait pas):
.HighlightColorIndex (membre de méthode ou de données introuvable)
.Shading.BackgroundPatternColor (membre de méthode ou de données introuvable)
J'avoue ne pas arriver à trouver chez Microsoft l'information qui pourrait me débloquer.
Un grand merci d'avance.
Le code utilisé est:
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 Set rng = ActiveDocument.Content rng.Find.ClearFormatting rng.Find.Replacement.ClearFormatting With rng.Find .Highlight = True ' Rechercher le texte surligné .Text = "" .Replacement.Text = "" .Forward = True .Wrap = wdFindStop .Format = True ' Appliquer le formatage au texte recherché End With ' Remplacer la surbrillance violet par rose Do While rng.Find.Execute i = i + 1 rng.HighlightColorIndex = wdColorPink rng.Collapse wdCollapseEnd Loop
Partager