Macro sous Word [Résolu]

Macro sous Word Macro Excel/Word : boite de dialogue OUVRIR (Résolu) » Forum - Programmation [RESOLU] Variable dans une macro sous word (Résolu) » Forum - VB / VBA Comment faire une macro sous word (Résolu) » Forum - Word Supprimer protection par mot de passe d'une macro VBA Word 2010 (Résolu) » Forum - Word Mot de passe sur macro dans Word 2010 (Résolu) » Forum - Word

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 !

Forum

Macro sous Word Macro Excel/Word : boite de dialogue OUVRIR (Résolu) » Forum - Programmation [RESOLU] Variable dans une macro sous word (Résolu) » Forum - VB / VBA Comment faire une macro sous word (Résolu) » Forum - Word Supprimer protection par mot de passe d'une macro VBA Word 2010 (Résolu) » Forum - Word Mot de passe sur macro dans Word 2010 (Résolu) » Forum - Word

Web: www.shapebootstrap.net

2 réponses

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

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.

[email protected]

Merci [email protected] 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

CCM a aidé 25520 internautes ce mois-ci

Reply

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

ça marche !

Merci beaucoup, Marina !

Reply

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed