Macro sous Word
Résolu
isa26
-
isa26 -
isa26 -
Je dois faire très souvent des rechercher/remplacer dans un document Word pour mettre en gras certains mots (compris entre deux caractères). J'utilise la fonction rechercher/remplacer et ça marche parfaitement.
Mais j'aurais voulu en faire une macro pour éviter d'avoir à retaper la recherche chaque fois. J'ai donc enregistré ma macro en faisant la manip (qui a très bien marché à ce moment-là) mais la macro ne marche pas. Tout simplement dans la macro, il n'apparait nulle part que le texte doit être remplacé en gras, donc la macro ne fait absolument rien !
Voici le code que j'ai obtenu:
Sub Macro5()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "M*."
.Replacement.Text = "^&"
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = True
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Dans ma manip, j'avais bien choisi dans "remplacer par", "mise en forme police = gras ". J'avais aussi coché "caractères génériques". Pourquoi tout cela n'apparait-il pas dans le code et surtout comment corriger cette macro pour qu'elle marche ?
Merci d'avance !
Mais j'aurais voulu en faire une macro pour éviter d'avoir à retaper la recherche chaque fois. J'ai donc enregistré ma macro en faisant la manip (qui a très bien marché à ce moment-là) mais la macro ne marche pas. Tout simplement dans la macro, il n'apparait nulle part que le texte doit être remplacé en gras, donc la macro ne fait absolument rien !
Voici le code que j'ai obtenu:
Sub Macro5()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "M*."
.Replacement.Text = "^&"
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = True
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Dans ma manip, j'avais bien choisi dans "remplacer par", "mise en forme police = gras ". J'avais aussi coché "caractères génériques". Pourquoi tout cela n'apparait-il pas dans le code et surtout comment corriger cette macro pour qu'elle marche ?
Merci d'avance !
A voir également:
- Macro sous Word
- Word 2013 - Télécharger - Traitement de texte
- Tableau word - Guide
- Espace insécable word - Guide
- Word et excel gratuit - Guide
- Supprimer une page word - Guide
2 réponses
Bonjour,
Essaie plutôt ça :
Les enregistrements de macro, c'est pas terrible. C'est pratique pour aider.
Cela étant, en principe, une macro enregistre correctement le format pour un RR ainsi que l'utilisation des caractères génériques.
m@rina
Essaie plutôt ça :
Sub RR()
Dim mondoc
Set mondoc = ActiveDocument.Content
mondoc.Find.ClearFormatting
mondoc.Find.Replacement.ClearFormatting
mondoc.Find.Replacement.Font.Bold = True
With mondoc.Find
.Text = "M*."
.Replacement.Text = "^&"
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchWildcards = True
.Execute Replace:=wdReplaceAll
End With
End Sub
Les enregistrements de macro, c'est pas terrible. C'est pratique pour aider.
Cela étant, en principe, une macro enregistre correctement le format pour un RR ainsi que l'utilisation des caractères génériques.
m@rina