Fonction de recherche Excel VBA

Qui ne connaît pas la méthode FIND dans Excel? Je suis sûr que tout le monde sait qui traite des feuilles de calcul Excel. FIND ou la touche de raccourci populaire Ctrl + F trouvera le mot ou le contenu que vous recherchez dans la feuille de calcul entière ainsi que dans le classeur entier. Lorsque vous dites que trouver signifie que vous trouvez dans des cellules ou des plages, n'est-ce pas? Oui, la méthode de recherche correcte fait partie des cellules ou des plages dans Excel ainsi que dans VBA.

De même, dans VBA Find, nous avons une option appelée fonction FIND qui peut nous aider à trouver la valeur que nous recherchons. Dans cet article, je vais vous présenter la méthodologie de FIND dans VBA.

Formule pour rechercher une fonction dans Excel VBA

Dans la feuille de calcul Excel standard, nous tapons simplement la touche de raccourci Ctrl + F pour trouver le contenu. Mais dans VBA, nous devons écrire une fonction pour trouver le contenu que nous recherchons. Ok, regardons alors la syntaxe FIND.

Je sais ce qui se passe dans votre esprit, vous êtes perdu en regardant cette syntaxe et vous ne comprenez rien. Mais ne vous inquiétez pas avant de vous expliquer la syntaxe. Permettez-moi de vous présenter le champ de recherche normal.

Si vous observez ce qu'il y a dans Ctrl + F normal, tout est là aussi dans la syntaxe VBA Find. Jetez maintenant un œil à ce que dit chaque mot de la syntaxe.

Quoi: Simplement ce que vous recherchez. Ici, nous devons mentionner le contenu que nous recherchons.

Après: après quelle cellule vous souhaitez rechercher.

LookIn: Où chercher la chose que vous recherchez Par exemple, des formules, des valeurs ou des commentaires. Les paramètres sont xlFormulas, xlValues, xlComments.

LookAt: Que vous recherchiez tout le contenu ou seulement une partie du contenu. Les paramètres sont xlWhole, xlPart.

SearchOrder: Cherchez -vous dans des lignes ou des colonnes. xlByRows ou xlByColumns.

SearchDirection: regardez -vous la cellule suivante ou précédente. xlNext, xlPrevious.

MatchCase: le contenu que vous recherchez est sensible à la casse ou non. Vrai ou faux.

MatchByte: c'est uniquement pour les langues à deux octets. Vrai ou faux.

SearchFormat: recherchez-vous par formatage. Si vous recherchez un format, vous devez utiliser la méthode Application.FindFormat .

C'est l'explication de la syntaxe de la méthode VBA FIND. Mis à part le premier paramètre, tout est facultatif. Dans la section des exemples, nous verrons comment utiliser cette méthode FIND dans le codage VBA.

Comment utiliser la fonction de recherche Excel VBA?

Nous allons apprendre à utiliser une fonction VBA Find Excel avec quelques exemples.

Vous pouvez télécharger ce modèle VBA Find Excel ici - VBA Find Excel Template

Fonction de recherche VBA - Exemple # 1

Tout d'abord, laissez-moi vous expliquer un exemple simple d'utilisation de la propriété FIND et trouver le contenu que nous recherchons. Supposons ci-dessous les données que vous avez dans votre feuille Excel.

Étape 1: À partir de là, je veux trouver le nom John, ouvrons un Visual Basic et commençons le codage.

Code:

 Sub Find_Ex1 () End Sub 

Étape 2: Ici, vous ne pouvez pas démarrer le mot FIND, car FIND fait partie de la propriété RANGE. Donc, tout d'abord, nous devons mentionner où nous regardons, c'est-à-dire Range.

Étape 3: mentionnez donc d'abord la gamme que nous recherchons. Dans notre exemple, notre gamme va de B2 à B11.

Code:

 Sub Find_Ex1 () Range ("B2: B11") End Sub 

Étape 4: Après avoir mentionné la plage, mettez un point (.) Et tapez FIND. Vous devez voir la propriété FIND.

Étape 5: Sélectionnez la propriété FIND et ouvrez le support.

Étape 6: Notre premier argument est ce que nous recherchons. Afin de mettre en évidence l'argument, nous pouvons passer l'argument comme ceci What: =, cela serait utile pour identifier le paramètre auquel nous nous référons.

Code:

 Sub Find_Ex1 () Range ("B2: B11"). Find (What: = "John") End Sub 

Étape 7: La dernière partie est après avoir trouvé le mot ce que nous voulons faire. Nous devons sélectionner le mot, donc passez l'argument comme. Sélectionnez .

Code:

 Sub Find_Ex1 () Range ("B2: B11"). Find (What: = "John"). Sélectionnez End Sub 

Étape 8: Exécutez ensuite ce code à l'aide de la touche F5 ou manuellement comme indiqué sur la figure, afin qu'il sélectionne le premier mot trouvé Johnson qui contient un mot, John.

Fonction de recherche VBA - Exemple # 2

Je vais maintenant vous montrer comment trouver le mot de commentaire en utilisant la méthode find. J'ai des données et dans trois cellules j'ai un commentaire.

Ces cellules qui ont le drapeau rouge contiennent des commentaires. À partir de ce commentaire, je souhaite rechercher le mot «aucune commission».

Étape 1: Commencez le code en mentionnant la plage ("D2: D11") et mettez un point (.) Et tapez Find

Code:

 Sub Find_Ex2 () Range ("D2: D11"). Find (End Sub 

Étape 2: Dans l'argument QUOI, tapez le mot «Aucune commission».

Code:

 Sub Find_Ex2 () Range ("D2: D11"). Find (What: = "No Commission", End Sub 

Étape 3: Ignorez la partie After et sélectionnez la partie LookIn. Dans LookIn, nous recherchons ce mot dans les commentaires, sélectionnez donc xlComments, puis passez l'argument en tant que .Select

Code:

 Sub Find_Ex2 () Range ("D2: D11"). Find (What: = "No Commission", LookIn: = xlComments) .Select End Sub 

Étape 4: Maintenant, exécutez ce code à l'aide de la touche F5 ou manuellement comme indiqué sur la figure afin qu'il sélectionne la cellule qui a le commentaire «Pas de commission». Dans la cellule D9, nous avons un commentaire mentionné.

Gérer les valeurs d'erreur dans Excel VBA Find

Si le mot que nous recherchons ne se trouve pas dans la plage, nous avons fourni le code VBA qui retournera une erreur comme celle-ci.

Afin de montrer à l'utilisateur que la valeur que vous recherchez n'est pas disponible, nous avons besoin du code ci-dessous.

Si le code ci-dessus a trouvé une valeur, il affiche la valeur et l'adresse de la cellule ou bien il affichera le message comme " La valeur que vous recherchez n'est pas disponible dans la plage fournie !!!".

Choses dont il faut se rappeler

  • VBA FIND fait partie de la propriété RANGE et vous devez utiliser FIND après avoir sélectionné la plage uniquement.
  • Dans FIND, le premier paramètre est obligatoire (Quoi) à part cela, tout le reste est facultatif.
  • Si vous recherchez la valeur après une cellule spécifique, vous pouvez mentionner la cellule dans le paramètre Après de la syntaxe Rechercher.

Articles recommandés

Cela a été un guide pour la fonction de recherche VBA. Ici, nous avons discuté de VBA Find et comment utiliser la fonction Excel VBA Find, ainsi que des exemples pratiques et un modèle Excel téléchargeable. Vous pouvez également consulter nos autres articles suggérés -

  1. Fonction FIND dans Excel
  2. Fonction VBA dans Excel
  3. Guide de plage dans Excel
  4. Comment utiliser la fonction VBA VLOOKUP?

Catégorie: