Macro sous Word

Résolu
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 !

2 réponses

  1. m@rina Messages postés 27648 Date d'inscription   Statut Modérateur Dernière intervention   11 567
     
    Bonjour,

    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
    1
  2. isa26
     
    ça marche !

    Merci beaucoup, Marina !
    0