Word Macro Word simplifier macro modifiant recherche mots clés et modification format

MANTE

XLDnaute Junior
Bonjour, Je dois analyser des rapports convertis en word très longs, et je fais des recherches par mots clés. Par exemple sur le fichier WORD (court ici pour l'exemple)en PJ j’ai recherché en mettre en gras et en rouge dans le texte les mots « femme», « fille », « santé », «éducation» . Je fais une macro sur le texte word en PJ : "Mac ro femmefilleéducationsantéRouge" :

Enregistrer macro

Accueil/rechercher/j’écris femme/ok/remplacer : dans la fenêtre qui s’ouvre, je remplace « femme» par «femme»/plus/format/police : en gras et en rouge dans la fenêtre/ok/remplacer tout> une msgbox me dit qu’il a effectué x remplacement/fermer

rechercher/j’écris fille , puis … mêmes manœuvres et ainsi de suite pour chaque mot jusqu’à la fin/Arrêter l’enregistrement.

Ma macro s’appelle « femmefilleéducationsantéRouge», et elle fonctionne en cliquant sur exécuter. Je vois bien sur le code VBA les répétitions.

Mais mes pb :

1 c’est que c’est long (j’ai parfois des macro de 25 à 30 mots selon le thème de recherche),

2 si je fais une erreur de saisie ça me crée parfois un bug à l’exécution et je suis obligé de tout recommencer,

et 3 je ne peux pas revenir en arrière, corriger, enlever ou ajouter un autre mot une fois que la macro est enregistrée. (D’ailleurs sur mon fichier word en PJ toutes mes autres macros bricolées ainsi apparaissent normalement).

Je voudrais que l’une ou l’un d’entre vous qui s’y connait en VBA, me refasse la macro, avec tous les mots sur la même ligne de code, de façon à ce que je puisse la reproduire, et revenir sur cette ligne pour corriger ou ajouter d’autres mots.

Merci de m’aider. Cordialement
 

Pièces jointes

  • Macro femmefillesantééducationRouge.docx
    19 KB · Affichages: 2

MANTE

XLDnaute Junior
Bonjour, mes excuses pour une absence de plusieurs semaines. J'ai essayé de régler mon problème de macro pour mettre en gras rouge des mots clés nombreux recherchés dans un texte WORD. Je reprends un code qu'on m'avait communiqué (PJ et lien joint). Ma macro s'appelle sub H1 (). Elle bogue pour une question de syntaxe. Quelqu'un peut-il me la corriger ? Merci

Sub H1()

Dim lesMots As Variant

lesMots = Array("handicap", "invalid", "infirm", "dys", "incap", acces", "autist", "para", "amnésie", "appareil", "besoin", "educ", "particulier", "comport", "discrimin", "emotion", "epiliepsie", "estime", "soi", "person", "représentation", "fonction", "execut", "cognit", "audit", "vis", "situation", "communic", "langage", "corp", "perte", "moteur", "exclu", "retard", "scolaire", "inclus", "parole", "geste", "poly", "pluri", "représent", "sensoriel", "psy", "sentiment", "trouble", "sensibili", "harcel", "potent", "viol", "agress", "atteint", "equite", "egalite", "genre", "intell", "jeu", "ordinaire", "voir", "entendre", "écouter", "sent", "voix", "motricité", "colère", "peur", "joie", "tristesse", "réduit", "mobilité")

For Each mot As String In lesMots
Remplacer mot
Next mot
End Sub

Sub Remplacer(LeTexte As String)
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
Selection.Find.Replacement.Font.Color = wdColorRed
With Selection.Find
.Text = LeTexte
.Replacement.Text = LeTexte
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub


grosfi.ch/QYdNQdb3dkc
 

Pièces jointes

  • 210505 ESS mots clé MACRO VBA 160128 commissions spéciales Handicap.docx
    64.6 KB · Affichages: 2

MANTE

XLDnaute Junior
Bonjour, mes excuses pour une absence de plusieurs semaines. J'ai essayé de régler mon problème de macro pour mettre en gras rouge des mots clés nombreux recherchés dans un texte WORD. Je reprends un code qu'on m'avait communiqué (PJ et lien joint). Ma macro s'appelle sub H1 (). Elle bogue pour une question de syntaxe. Quelqu'un peut-il me la corriger ? Merci

Sub H1()

Dim lesMots As Variant

lesMots = Array("handicap", "invalid", "infirm", "dys", "incap", acces", "autist", "para", "amnésie", "appareil", "besoin", "educ", "particulier", "comport", "discrimin", "emotion", "epiliepsie", "estime", "soi", "person", "représentation", "fonction", "execut", "cognit", "audit", "vis", "situation", "communic", "langage", "corp", "perte", "moteur", "exclu", "retard", "scolaire", "inclus", "parole", "geste", "poly", "pluri", "représent", "sensoriel", "psy", "sentiment", "trouble", "sensibili", "harcel", "potent", "viol", "agress", "atteint", "equite", "egalite", "genre", "intell", "jeu", "ordinaire", "voir", "entendre", "écouter", "sent", "voix", "motricité", "colère", "peur", "joie", "tristesse", "réduit", "mobilité")

For Each mot As String In lesMots
Remplacer mot
Next mot
End Sub

Sub Remplacer(LeTexte As String)
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
Selection.Find.Replacement.Font.Color = wdColorRed
With Selection.Find
.Text = LeTexte
.Replacement.Text = LeTexte
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub


grosfi.ch/QYdNQdb3dkc
Merci ça fonctionne bien. Cordialement.
 

Discussions similaires

Réponses
16
Affichages
983

Statistiques des forums

Discussions
311 733
Messages
2 082 019
Membres
101 872
dernier inscrit
Colin T