Recherche et remplacement de texte ou d'une mise en forme

La recherche et le remplacement sont exposés par les objets Find et Replacement . L’objet Find est disponible à partir de l’objet Selection et de l’objet Range . La recherche diffère légèrement selon que vous accédez à l’objet Find à partir de l’objet Selection ou de l’objet Range.

Recherche de texte afin de le sélectionner

Si l'objet Find est accessible à partir de l'objet Selection, la sélection est modifiée lorsque le critère de recherche est trouvé. L’exemple suivant sélectionne l’occurrence suivante du mot « Hello ». Si la fin du document est atteinte avant que le mot « Hello » ne soit trouvé, la recherche est arrêtée.

With Selection.Find 
 .Forward = True 
 .Wrap = wdFindStop 
 .Text = "Hello" 
 .Execute 
End With

L’objet Find comprend des propriétés qui correspondent aux options figurant dans la boîte de dialogue Rechercher et remplacer. Vous pouvez définir les propriétés individuelles de l’objet Find ou utiliser des arguments avec la méthode Execute , comme illustré dans l’exemple suivant.

Selection.Find.Execute FindText:="Hello", _ 
 Forward:=True, Wrap:=wdFindStop

Recherche de texte sans modifier la sélection

Si l’objet Find est accessible à partir d’un objet Range , la sélection n’est pas modifiée, mais la plage est redéfinie lorsque les critères de recherche sont trouvés. L'exemple suivant montre comment localiser la première occurrence du mot « blue » dans le document actif. Si l’opération de recherche réussit, la plage est redéfinie et la mise en gras est appliquée au mot « blue ».

With ActiveDocument.Content.Find 
 .Text = "blue" 
 .Forward = True 
 .Execute 
 If .Found = True Then .Parent.Bold = True 
End With

Cet exemple montre comment obtenir le même résultat que dans l'exemple précédent en utilisant les arguments de la méthode Execute.

Set myRange = ActiveDocument.Content 
myRange.Find.Execute FindText:="blue", Forward:=True 
If myRange.Find.Found = True Then myRange.Bold = True

Utilisation de l'objet Replacement

L'objet Replacement représente le critère de remplacement utilisé dans une opération de recherche et remplacement. Les propriétés et méthodes de l'objet Replacement correspondent aux options qui figurent dans la boîte de dialogue Rechercher et remplacer (menu Edition).

L'objet Replacement est disponible à partir de l'objet Find. Cet exemple montre comment remplacer toutes les occurrences du mot « hi » par « hello ». La sélection est remplacée lorsque le critère de recherche est trouvé car l'accès à l'objet Find s'effectue à partir de l'objet Selection.

With Selection.Find 
 .ClearFormatting 
 .Text = "hi" 
 .Replacement.ClearFormatting 
 .Replacement.Text = "hello" 
 .Execute Replace:=wdReplaceAll, Forward:=True, _ 
 Wrap:=wdFindContinue 
End With

Cet exemple montre comment supprimer la mise en forme gras dans le document actif. La propriété Bold a la valeur True pour l’objet Find et False pour l’objet Replacement . Pour rechercher et remplacer la mise en forme, définissez le texte rechercher et remplacer sur des chaînes vides («  ») et définissez l’argument Format de la méthode Execute sur True. La sélection reste inchangée, car l’objet Find est accessible à partir d’un objet Range (la propriété Content renvoie un objet Range ).

With ActiveDocument.Content.Find 
 .ClearFormatting 
 .Font.Bold = True 
 With .Replacement 
 .ClearFormatting 
 .Font.Bold = False 
 End With 
 .Execute FindText:="", ReplaceWith:="", _ 
 Format:=True, Replace:=wdReplaceAll 
End With

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.