Fonction de recherche VBA Excel

Dans Excel, nous avons utilisé VLookup plusieurs fois. C'est là dans la fonction Insert qui est utilisée pour récupérer ou mapper tout type de valeurs que nous voulons. De même, dans VBA, nous avons l'application Lookup, qui fonctionne comme Excel Vlookup. La recherche VBA a une structure de données flexible car elle peut être utilisée pour mapper n'importe quel type de valeur à partir de n'importe quel type de tableau. Cela signifie que si nous appliquons Excel Vlookup, nous ne pourrons pas mapper les données de la colonne de droite avec les données de la colonne de gauche dans une syntaxe. Alors que dans VBA Lookup, il n'y a pas de structure appropriée de mappage. Nous avons juste besoin de suivre la syntaxe de la recherche VBA. Si la syntaxe est satisfaite et correctement cadrée, nous pouvons extraire les valeurs du côté droit ou gauche du tableau.

Syntaxe de la fonction de recherche VBA:

Où,

  • Arg1 = valeur que nous voulons rechercher.
  • Arg2 = Plage des colonnes ou du tableau d'où nous voulons rechercher.
  • Arg3 = Résultat comme booléen ou vecteur.

Comment utiliser la fonction de recherche dans Excel VBA?

Nous allons apprendre à utiliser la fonction de recherche dans Excel en utilisant le code VBA.

Vous pouvez télécharger ce modèle Excel de recherche VBA ici - Modèle Excel de recherche VBA

Recherche VBA - Exemple # 1

Il existe de nombreuses façons d'écrire le code de recherche VBA. Dans cet exemple, nous verrons un moyen simple d'écrire la recherche VBA. Pour cela, nous avons un ensemble de données comme indiqué ci-dessous. Ce tableau présente le nombre de courses et la vitesse moyenne des coureurs. Nous allons maintenant utiliser ces données pour appliquer la recherche VBA dans le tableau ci-dessous avec les en-têtes bleus de A8 à B8. Pour cela, suivez les étapes ci-dessous:

Étape 1: ouvrez un module à partir de l'onglet du menu Insertion, comme illustré ci-dessous.

Étape 2: Écrivez la sous-procédure pour le travail effectué dans ce module. Ici, nous avons choisi le nom comme recherche VBA.

Code:

 Sub VBA_Lookup1 () End Sub 

Étape 3: Sélectionnez la cellule de sortie où nous devons voir la valeur de recherche. Ici, cette cellule est B9 où nous rechercherons la valeur concernant le nom «Aniket» qui est notre valeur de recherche.

Code:

 Sub VBA_Lookup1 () Range ("B9"). Value End Sub 

Étape 4: Maintenant, nous allons utiliser la fonction de feuille de calcul et sélectionner la fonction de recherche intégrée dans la liste comme indiqué ci-dessous.

Code:

 Sub VBA_Lookup1 () Range ("B9"). Value = WorksheetFunction.Lookup End Sub 

Étape 5: Une fois que nous avons sélectionné la fonction de recherche, nous verrons Arg1, Arg2 et Arg3 dans sa syntaxe. Pour cela, nous allons d'abord mettre notre plage de valeurs de recherche qui est la cellule A9 à la place de Arg1.

Code:

 Sub VBA_Lookup1 () Range ("B9"). Value = WorksheetFunction.Lookup (Range ("A9"). Value, End Sub 

Étape 6: Maintenant, pour Arg2, sélectionnez la plage de recherche qui se trouve dans la cellule A2: A5.

Code:

 Sub VBA_Lookup1 () Range ("B9"). Value = WorksheetFunction.Lookup (Range ("A9"). Value, Range ("A2: A5"), End Sub 

Étape 7: Enfin, sélectionnez les plages de valeurs de recherche qui vont de B2 à B5 à la place de Arg3.

Code:

 Sub VBA_Lookup1 () Range ("B9"). Value = WorksheetFunction.Lookup (Range ("A9"). Value, Range ("A2: A5"), Range ("B2: B5")) End Sub 

Étape 8: Exécutez le code en appuyant sur la touche F5 ou en cliquant sur le bouton Lecture situé sous le ruban de menu. Nous verrons, selon Lookup, le nombre de courses faites par le nom «Aniket» est de 7.

Recherche VBA - Exemple # 2

Il existe une autre façon d'appliquer une fonction de recherche dans Excel VBA. Pour cela, nous utiliserons les mêmes données que celles que nous avons vues dans l'exemple-1. Pour cela, suivez les étapes ci-dessous:

Étape 1: écrivez la sous-procédure pour la recherche VBA, comme indiqué ci-dessous.

Code:

 Sub VBA_Lookup2 () End Sub 

Étape 2: Définissez une variable en tant que chaîne qui sera utilisée pour mapper la colonne Nom.

Code:

 Sub VBA_Lookup2 () Dim Dim As String End Sub 

Étape 3: Dans la variable définie Nom, nous appliquerons l'application Vlookup comme indiqué ci-dessous.

Code:

 Sub VBA_Lookup2 () Dim Dim As String Name = Application.VLookup (End Sub 

Étape 4: Supposons que notre valeur de recherche s'appelle «Ashwani» dans le tableau.

Code:

 Sub VBA_Lookup2 () Dim Dim As String Name = Application.VLookup ("Ashwani", End Sub 

Étape 5: Et la plage va de A1 à C6 à partir de Sheet1.

Code:

 Sub VBA_Lookup2 () Dim Name As String Name = Application.VLookup ("Ashwani", Sheet1.Range ("A1: C6"), End Sub 

Étape 6: Maintenant, si nous voulons voir la vitesse moyenne du pilote «Ashwani» ici, nous devons mapper la cellule dans la syntaxe de recherche qui est à la 3ème place.

Code:

 Sub VBA_Lookup2 () Dim Dim As String Name = Application.VLookup ("Ashwani", Sheet1.Range ("A1: C6"), 3) End Sub 

Étape 7: Maintenant, pour voir la vitesse moyenne du pilote «Ashwani», nous pouvons utiliser MsgBox et Debug Print les deux. Mais l'utilisation de Debug Print est bien meilleure que MsgBox. Affectez donc Debug Print avec le nom de variable défini.

Code:

 Sub VBA_Lookup2 () Dim Dim As String Name = Application.VLookup ("Ashwani", Sheet1.Range ("A1: C6"), 3) Debug.Print Name End Sub 

Étape 8: Maintenant, ouvrez la fenêtre immédiate qui se trouve dans l'onglet du menu Affichage pour voir la sortie.

Étape 9: compilez le code et exécutez-le. Nous verrons, Lookup a cartographié avec la vitesse d'Ashwani et l'a récupéré dans la fenêtre Immédiat comme 86 .

Code:

 Sub VBA_Lookup2 () Dim Dim As String Name = Application.VLookup ("Ashwani", Sheet1.Range ("A1: C6"), 3) Debug.Print Name End Sub 

Recherche VBA - Exemple # 3

Pour utiliser la fonction de recherche dans Excel VBA, suivez les étapes ci-dessous:

Étape 1: écrivez la sous-procédure pour la recherche VBA, comme indiqué ci-dessous.

Code:

 Sub VBA_Lookup3 () End Sub 

Étape 2: Déclarez une variable pour Name as String comme indiqué ci-dessous.

Code:

 Sub VBA_Lookup3 () Dim Dim As String End Sub 

Étape 3: Attribuez maintenant le nom à rechercher au nom de variable défini, comme indiqué ci-dessous.

Code:

 Sub VBA_Lookup3 () Dim Name As String Name = "Deepinder" End Sub 

Étape 4: Utilisez maintenant n'importe quel mot pour définir et utiliser Lookup permet de dire LUp . Et dans ce cas, utilisez la fonction de feuille de calcul avec Vlookup comme indiqué ci-dessous.

Code:

 Sub VBA_Lookup3 () Dim Name As String Name = "Deepinder" LUp = Application.WorksheetFunction.VLookup (MsgBox "La vitesse moyenne est:" & LUp End Sub 

Étape 5: Utilisez maintenant la même syntaxe Vlookup que celle utilisée dans Excel. Dans Arg1, mettez la variable Name, puis sélectionnez la matrice de plage et recherchez la valeur que nous voulons obtenir. Ici, cette colonne est 3 comme indiqué ci-dessous.

Code:

 Sub VBA_Lookup3 () Dim Name As String Name = "Deepinder" LUp = Application.WorksheetFunction.VLookup (Name, Sheet1.Range ("A2: C6"), 3, False) MsgBox "La vitesse moyenne est:" & LUp End Sub 

Étape 6: utilisez maintenant MsgBox pour voir la sortie.

Code:

 Sub VBA_Lookup3 () Dim Name As String Name = "Deepinder" LUp = Application.WorksheetFunction.VLookup (Name, Sheet1.Range ("A2: C6"), 3, False) MsgBox "La vitesse moyenne est:" & LUp End Sub 

Étape 7: compilez et exécutez le code. Nous verrons, pour le nom «Deepinder», la vitesse moyenne arrive à 88. Alors que la même valeur est donnée pour le nom Deepinder dans le tableau.

Code:

 Sub VBA_Lookup3 () Dim Name As String Name = "Deepinder" LUp = Application.WorksheetFunction.VLookup (Name, Sheet1.Range ("A2: C6"), 3, False) MsgBox "La vitesse moyenne est:" & LUp End Sub 

Avantages de la fonction de recherche Excel VBA

  • Il est aussi facile à utiliser et à implémenter que l'application de formules Excel Vlookup régulières dans Excel.
  • Nous pouvons utiliser n'importe quel type de plage et de matrice dans la recherche VBA.
  • Il existe très peu ou pas de contraintes lors de l'application de la recherche VBA.

Choses dont il faut se rappeler

  • Nous pouvons utiliser Lookup à la place de Vlookup dans n'importe quelle situation.
  • La plage du vecteur de recherche et du vecteur de résultat doit être la même.
  • Une fois l'application terminée, enregistrez le fichier au format Macro Enable pour conserver le code.
  • Il n'y a aucune exigence obligatoire de placer la colonne de résultat à chaque fois pour être à droite de la valeur de recherche.

Articles recommandés

Ceci est un guide de la fonction de recherche VBA. Ici, nous discutons de l'utilisation de la fonction de recherche dans Excel VBA avec des exemples pratiques et un modèle Excel téléchargeable. Vous pouvez également consulter nos autres articles suggérés -

  1. Collection VBA (exemples)
  2. Instructions IF VBA | Modèles Excel
  3. Comment utiliser la fonction de tri Excel VBA?
  4. Boucle VBA While (Exemples avec modèle Excel)
  5. VBA Environ

Catégorie: