Range.Find, méthode (Excel)

Cette méthode recherche des informations spécifiques dans une plage.

Remarque

Vous voulez développer des solutions qui étendent l’expérience Office sur plusieurs plateformes ? Découvrez le nouveau modèle de compléments Office. Les compléments Office ont un encombrement réduit par rapport aux compléments et solutions VSTO. Vous pouvez les créer à l’aide de pratiquement n’importe quelle technologie de programmation web, telle que HTML5, JavaScript, CSS3 et XML.

Syntaxe

expression.Trouver (Quoi, Après, Rechercher, Regarder, RechercherCommande, RechercherDirection, AssocierCas, AssocierByte, RechercherFormat)

expression Variable représentant un objet Range.

Paramètres

Nom Requis/Facultatif Type de données Description
What Obligatoire Variant Données à rechercher. Il peut s’agir d’une chaîne ou de tout autre type de données Microsoft Excel.
After Facultatif Variant Cellule après laquelle vous souhaitez commencer la recherche. Cela correspond à la position de la cellule active lorsqu’une recherche est effectuée à partir de l’interface utilisateur.

After doit être une cellule unique dans la plage. La recherche commence après cette cellule ; la cellule spécifiée n’est pas incluse dans la recherche tant que la méthode n’englobe pas cette cellule.

Si vous ne spécifiez pas cet argument, la recherche commence après la cellule en haut à gauche de la plage.
LookIn Facultatif Variant Il peut s’agir de l’une des constantesXlTrouverRechercher : xlFormules, xlValeurs, xlCommentaires ou xlCommentairesThématiques.
LookAt Facultatif Variant Il peut s'agir de l'une des constantesXlRegarder suivantes : xlEntier ou xlComposant.
SearchOrder Facultatif Variant Il peut s'agir de l'une des constantes XlRechercheCommande suivantes : xlParLignes ou xlParColonnes.
SearchDirection Facultatif Variant Il peut s’agir de l’une des XlSearchDirection constantes suivantes : xlNext ou xlPrevious.
MatchCase Facultatif Variant True pour que la recherche respecte la casse. La valeur par défaut est False.
MatchByte Facultatif Variant Utilisé uniquement si vous avez sélectionné ou installé la prise en charge linguistique sur deux octets. True pour que les caractères sur deux octets correspondent uniquement aux caractères sur deux octets. False pour que les caractères sur deux octets correspondent à leurs équivalents codés sur un octet.
SearchFormat Facultatif Variante Format de la recherche.

Valeur renvoyée

Objet Range qui représente la première cellule où ces informations sont trouvées.

Remarques

Cette méthode renvoie Nothing si aucune correspondance n’est trouvée. La méthode Find n’affecte pas la sélection ou la cellule active.

Les paramètres de LookIn, LookAt, SearchOrder, et MatchByte sont enregistrés chaque fois que vous utilisez cette méthode. Si vous ne spécifiez pas de valeurs pour ces arguments la prochaine fois que vous appelez la méthode, les valeurs enregistrées sont utilisées. Lorsque vous définissez ces arguments, les paramètres de la boîte de dialogue Find sont modifiés, et lorsque vous changez les paramètres de la boîte de dialogue Find, les valeurs enregistrées qui sont utilisées si vous omettez les arguments sont modifiées. Pour éviter les problèmes, définissez ces arguments de façon explicite chaque fois que vous utilisez cette méthode.

Utilisez les méthodes FindNext et FindPrevious pour répéter la recherche.

Lorsque la recherche atteint la fin de la plage de recherche spécifiée, elle recommence au début de la plage. Pour arrêter une recherche lorsqu’elle recommence au début, enregistrez l’adresse de la première cellule trouvée, puis testez chaque adresse de cellule trouvée successive avec cette adresse enregistrée.

Pour effectuer des recherches plus complexes, utilisez une déclaration Pour Chaque... Suivant avec l'opérateur Comme. Par exemple, le code suivant recherche toutes les cellules dans la plage A1:C5 qui utilisent une police dont le nom commence par les lettres Cour. Lorsque Microsoft Excel trouve une correspondance, il transforme la police en Times New Roman.

For Each c In [A1:C5] If c.Font.Name Like "Cour*" Then c.Font.Name = "Times New Roman" End If Next`

Exemples

Cet exemple montre comment rechercher toutes les cellules de la plage A1:A500 dans la première feuille de calcul contenant la valeur 2 et comment remplacer toute la valeur de la cellule par 5. Autrement dit, si les valeurs 1234 et 99299 contiennent 2, les deux valeurs de cellule deviendront 5.

Sub FindValue()
    
    Dim c As Range
    Dim firstAddress As String

    With Worksheets(1).Range("A1:A500") 
        Set c = .Find(2, lookin:=xlValues) 
        If Not c Is Nothing Then 
            firstAddress = c.Address 
            Do 
                c.Value = 5 
                Set c = .FindNext(c) 
            Loop While Not c Is Nothing
        End If 
    End With
    
End Sub

Cet exemple montre comment rechercher toutes les cellules de la plage A1:A500 dans la première feuille de calcul contenant la sous-chaîne « abc », et comment remplacer « abc » par « xyz ».

Sub FindString()

    Dim c As Range
    Dim firstAddress As String

    With Worksheets(1).Range("A1:A500")
        Set c = .Find("abc", LookIn:=xlValues)
        If Not c Is Nothing Then
            firstAddress = c.Address
            Do
                c.Value = Replace(c.Value, "abc", "xyz")
                Set c = .FindNext(c)
            Loop While Not c Is Nothing
        End If
    End With

End Sub

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.