Rechercher : dans
Par :

[VBA Word]-Parcours du document

Dernière réponse le 6 mai 2009 à 16:05:11 blux, le 6 mai 2009 à 13:31:14 
 Signaler ce message aux modérateurs

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           

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Meilleures réponses pour « [VBA Word] Parcours du document » dans :
Changer le chemin par défaut d'enregistrement des documents Word VoirBonjour! Vous avez déjà remarqué que lorsque vous voulez enregistrer votre document Word, le chemin d'enregistrement par défaut est: C:\Users\votre_nom_d'utilisateur\Documents. Eh bien, il est possible de changer ce chemin vers un dossier de votre...

1

ConsoMalin, le 6 mai 2009 à 14:10:25

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

Répondre à ConsoMalin

2

blux, le 6 mai 2009 à 14:25:29

Merci 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...

A+ Blux           

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

3

ConsoMalin, le 6 mai 2009 à 15:07:15

Dans ce cas tu peux utiliser les fonctions Selection.MoveLeft et Selection.MoveRight qui permettent de déplacer le curseur vers la gauche ou vers la droite dans le texte courant (regarde le guide pour la syntaxe exacte : les attributs Unit et Count)

Répondre à ConsoMalin

4

blux, le 6 mai 2009 à 15:16:53

J'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...

A+ Blux           

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

5

ConsoMalin, le 6 mai 2009 à 16:01:49

Oui 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

Répondre à ConsoMalin

6

 blux, le 6 mai 2009 à 16:05:11

Merci, je vais creuser avec cet exemple...

A+ Blux           

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux