Cette documentation est archivée et n’est pas conservée.

Comment : rechercher du texte dans les documents

L'objet Find est un membre des objets Selection et Range, et vous pouvez les utiliser indifféremment pour rechercher du texte dans les documents Microsoft Office Word 2003. La commande Replace est une extension de la commande Find. Pour plus d'informations sur le remplacement de texte dans les documents, consultez Comment : rechercher et remplacer du texte dans les documents.

Utilisation d'un objet Selection

Lorsque vous utilisez un objet Selection pour rechercher du texte, les critères de recherche que vous spécifiez ne sont appliqués qu'au texte sélectionné. Si Selection est un point d'insertion, la recherche s'effectue dans le document. Lorsque l'élément correspondant aux critères de recherche est trouvé, il est automatiquement mis en surbrillance.

Notez que les critères Find sont cumulatifs, ce qui signifie qu'ils sont ajoutés aux critères de recherche précédents. Avant la recherche, effacez la mise en forme des recherches précédentes à l'aide de la méthode ClearFormatting.

Pour rechercher du texte à l'aide d'un objet Selection

  1. Assignez une chaîne de recherche à une variable.

    object findText = "find me";
    
    
  2. Effacez la mise en forme des recherches précédentes.

    Application.Selection.Find.ClearFormatting();
    
    
  3. Exécutez la recherche et affichez un message avec les résultats.

    if (Application.Selection.Find.Execute(ref findText,
        ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,
        ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, 
        ref missing, ref missing)) 
    { 
        MessageBox.Show("Text found.");
    } 
    else
    { 
        MessageBox.Show("The text could not be located.");
    } 
    
    

L'exemple suivant illustre la méthode complète.

private void SelectionFind() 
{ 
    object findText = "find me";

    Application.Selection.Find.ClearFormatting();

    if (Application.Selection.Find.Execute(ref findText,
        ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,
        ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, 
        ref missing, ref missing)) 
    { 
        MessageBox.Show("Text found.");
    } 
    else
    { 
        MessageBox.Show("The text could not be located.");
    } 
}

Utilisation d'un objet Range

La recherche de texte à l'aide d'un objet Range vous permet de rechercher du texte sans rien afficher dans l'interface utilisateur. L'objet Find retourne True si du texte correspondant aux critères de recherche est trouvé et False si ce n'est pas le cas. Il redéfinit l'objet Range pour qu'il corresponde aux critères de recherche si le texte est trouvé.

Pour rechercher du texte à l'aide d'un objet Range

  1. Définissez un objet Range constitué du deuxième paragraphe du document.

    Word.Range rng = this.Paragraphs[2].Range; 
    
    
  2. Utilisez la propriété Find de l'objet Range, en effaçant d'abord les éventuelles options de mise en forme existantes, puis recherchez la chaîne find me.

    rng.Find.ClearFormatting();
    
    if (rng.Find.Execute(ref findText,
        ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,
        ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, 
        ref missing, ref missing)) 
    { 
    
    
  3. Affichez les résultats de la recherche dans un message, puis sélectionnez l'objet Range pour le rendre visible.

        MessageBox.Show("Text found.");
    } 
    else 
    { 
        MessageBox.Show("Text not found.");
    } 
    
    rng.Select(); 
    
    

    Si la recherche échoue, le deuxième paragraphe est sélectionné ; si elle réussit, les critères de la recherche sont affichés.

La méthode complète se présente comme suit :

private void RangeFind() 
{ 
    object findText = "find me";

    Word.Range rng = this.Paragraphs[2].Range; 

    rng.Find.ClearFormatting();

    if (rng.Find.Execute(ref findText,
        ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,
        ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, 
        ref missing, ref missing)) 
    { 
        MessageBox.Show("Text found.");
    } 
    else 
    { 
        MessageBox.Show("Text not found.");
    } 

    rng.Select(); 
}

Voir aussi

Afficher: