[VBA Word]-Parcours du document
Bonjour,
je souhaite parcourir le document courant (en commençant par le début) afin de faire des recherches de lettres particulières (ou de groupes de lettres) pour leur appliquer une mise en forme particulière, mais je ne sais pas par quel bout prendre le problème.
J'ai bien essayé avec les sélections, mais je ne m'en sors pas.
Quelqu'un aurait une idée pour la boucle à faire ?
Merci d'avance
--
A+ Blux
je souhaite parcourir le document courant (en commençant par le début) afin de faire des recherches de lettres particulières (ou de groupes de lettres) pour leur appliquer une mise en forme particulière, mais je ne sais pas par quel bout prendre le problème.
J'ai bien essayé avec les sélections, mais je ne m'en sors pas.
Quelqu'un aurait une idée pour la boucle à faire ?
Merci d'avance
--
A+ Blux
"Les cons, ça ose tout. C'est même à ça qu'on les reconnait"
2 réponses
-
Voici un moyen de procéder :
- Outils > Macro > Nouvelle macro
- tu effectues la modif de texte souhaitée
- tu arrêtes la macro => ça te génère le code
- ensuite tu vas sous Visual Basic (Alt F11) et tu bricoles le code comme tu veux
Voici un exemple qui remplace tous les "ou" en les mettant en gras :
Sub Macro1()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
Selection.Find.Replacement.Font.Bold = True
With Selection.Find
.Text = "ou"
.Replacement.Text = "ou"
.Forward = True
.Wrap = wdFindContinue
.Format = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub -
ModérateurMerci mais ce ne n'est pas exactement ce que je souhaite faire. Le coup de l'enregistreur de macro n'est pas assez complet pour enregistrer mes actions.
Imagine que je veuille souligner les 'ph' en début mot dans un texte, en même temps que je mets en rouge les 'f' en début de mot, ça ne va pas le faire du tout...
-
-
Modérateur@ConsoMalinJ'ai déjà testé, mais il me semble que c'est pour étendre la sélection à gauche ou à droite, pas pour récupérer le caractère courant...
-
@bluxOui mais tu récupères la sélection au fur à mesure par la commande Selection.EndOf
Tu trouveras un exemple que j'ai fait sur :
http://aimag.free.fr/Extraction_emails.doc -
Modérateur@ConsoMalinmerci, je vais creuser avec cet exemple...
-