Comment utiliser VLOOKUP en VBA (4 façons)

  • Partage Ça
Hugh West

Pour rechercher ou visualiser des valeurs ou des éléments spécifiques, MS Excel propose diverses fonctions. VLOOKUP est l'une d'entre elles. Elle nous aide à rechercher les données souhaitées à partir de n'importe quel ensemble de données. Elle nous permet de mentionner s'il faut rechercher une correspondance exacte ou une correspondance approximative. En plus d'utiliser cette fonction dans la formule Excel, nous pouvons également l'utiliser dans le code VBA. Dans cet article, nous verrons comment nous pouvons utiliser cette fonction Fonction VLOOKUP en VBA.

Télécharger le cahier d'exercices

VLOOKUP en VBA.xlsm

4 façons d'utiliser VLOOKUP en VBA

1. rechercher des données manuellement en utilisant VLOOKUP en VBA

Nous disposons d'un ensemble de données sur les employés avec leur ID, leur nom, leur département, leur date d'embauche et leur salaire. Notre tâche consiste maintenant à trouver manuellement les informations sur les employés en utilisant leur ID. Pour cette section, nous allons simplement trouver le salaire de l'employé en utilisant son ID.

Étape 1 : Sélectionnez Visual Basic sous Développeur tab (Raccourci Alt + F11 )

Étape 2 : Puis une fenêtre viendra. Sélectionnez Module option sous Insérer bouton

Étape 3 : Maintenant, écrivez le code suivant dans la console VBA et appuyez sur la touche Exécuter (Raccourci F5 )

Code :

 Sub vlookup_function_1() Dim Employee_id As Long Dim salary As Long Employee_id = 1144 Set myerange = Range("B4:F11") salary = Application.WorksheetFunction.VLookup(Employee_id, myerange, 5, False) MsgBox "Employee ID :" & ; Employee_id & ; " Salary " & ; "$" & ; salary End Sub 

Étape 4 : Maintenant un message pop va apparaître et montrer l'information

Lire la suite : VLOOKUP pour rechercher du texte dans Excel (4 façons simples)

2. rechercher des données avec des entrées en utilisant VLOOKUP en VBA

Voyons maintenant comment nous pouvons rechercher ou extraire des données de tableaux ou de plages avec des entrées. Comme dans l'image, nous allons trouver le nom de l'identifiant saisi dans le tableau des informations sur les employés.

Étape 1 : Ouvrez d'abord la console VBA en suivant les mêmes étapes 1 et 2.

Étape 2 : Saisissez maintenant le code suivant dans la fenêtre VBA

Code :

 Sub vlookup_function_2() Set myerange = Range("B4:F11") Set ID = Range("D13") Set Name = Range("D14") Name.Value = Application.WorksheetFunction.VLookup(ID, myerange, 2, False) End Sub 

Étape 3 : Maintenant, entrez n'importe quel ID dans la cellule D13 et exécuter le code

Étape 4 : Le site Nom qui est sauvegardé contre l'ID sera montré

Lire la suite : 10 bonnes pratiques avec VLOOKUP dans Excel

Lectures similaires

  • VLOOKUP ne fonctionne pas (8 raisons & ; Solutions)
  • Fonction INDEX MATCH vs VLOOKUP (9 exemples)
  • Utiliser VLOOKUP avec plusieurs critères dans Excel (6 méthodes + alternatives)
  • Excel VLOOKUP pour trouver la dernière valeur dans une colonne (avec alternatives)
  • Excel VLOOKUP pour renvoyer plusieurs valeurs verticalement

Recherche d'informations dans un champ de saisie à l'aide de VLOOKUP en VBA

Voyons comment nous pouvons rechercher des données à l'aide du champ de saisie de VBA. Pour effectuer une recherche, nous devons utiliser la fonction VLOOKUP dans le code VBA. Là encore, l'ensemble de données sera le même, mais l'approche de recherche sera différente. Ici, notre tâche consiste à trouver le salaire de l'employé en saisissant l'ID et le département.

Étape 1 : Ouvrez d'abord la fenêtre VBA en suivant les mêmes étapes 1 et 2.

Étape 2 : Maintenant, entrez le code suivant dans la console VBA et Exécuter il

Code :

 Sub vlookup_function_3() For i = 4 To Cells(Rows.Count, "B").End(xlUp).Row Cells(i, "A").Value = Cells(i, "B").Value & ; "_" & ; Cells(i, "D").Value Next i End Sub 

Étape 3 : Cela imprimera une chaîne combinée avec l'ID et le département dans la première colonne.

Étape 4 : Maintenant, allez à nouveau dans la console VBA, entrez le code complet et exécutez-le à nouveau.

Code :

 Sub vlookup_function_3() For i = 4 To Cells(Rows.Count, "B").End(xlUp).Row Cells(i, "A").Value = Cells(i, "B").Value & ; "_" & ; Cells(i, "D").Value Next i Dim ID As Long Dim department As String Dim lookup_val As String Dim salary As Long ID = InputBox("Enter the ID of the employee") department = InputBox("Enter the department of the employee") lookup_val = ID & ; "_" & ; department OnError GoTo Message check : salary = Application.WorksheetFunction.VLookup(lookup_val, Range("A:F"), 6, False) MsgBox ("The salary of the employee is $" & ; salary) Message : If Err.Number = 1004 Then MsgBox ("Employee data not present") End If End Sub 

Explication du code

  • Tout d'abord, Cells(i, "A").Value = Cells(i, "B").Value & ; "_" & ; Cells(i, "D").Value En utilisant ce code, nous stockons les valeurs concaténées de l'ID et du Département dans la colonne A.
  • lookup_val = ID & ; "_" & ; département ceci définit que la valeur de recherche sera l'ID et le département.
  • salary = Application.WorksheetFunction.VLookup(lookup_val, Range("A : F"), 6, False) ici nous stockons le salaire de l'employé correspondant dans une variable nommée salaire
  • Si le numéro d'erreur = 1004 alors Il s'agit d'une vérification de condition. Nous vérifions si le numéro d'erreur est 1004 ou non. Dans Excel VBA, le code 1004 signifie que la valeur recherchée n'est pas trouvée, supprimée ou retirée.

Étape 5 : Maintenant, il y aura un pop-up comme cette image. Enter ID et Département séquentiellement

Étape 6 : Après avoir appuyé sur la touche Ok le résultat final sera affiché

Étape 7 : Si vous entrez le mauvais ID ou Département, le message suivant s'affichera

Lire la suite : Comment faire un VLOOKUP avec plusieurs conditions dans Excel (2 méthodes)

4. trouver des informations à l'aide d'un bouton en utilisant VLOOKUP en VBA

Nous allons maintenant voir comment nous pouvons trouver des informations à l'aide d'un bouton au lieu d'exécuter le code manuellement. Encore une fois, l'ensemble de données sera le même que ci-dessus.

Étape 1 : Sélectionnez d'abord le Insérer dans le cadre de l'option Développeur onglet

Étape 2 : Sélectionnez ensuite le Bouton l'option de Insérer

Étape 3 : Placez le bouton selon vos besoins et donnez-lui un nom.

Étape 4 : Maintenant, cliquez à droite sur le bouton et sélectionnez Attribuer une macro

Étape 5 : Maintenant, créez une nouvelle macro et nommez-la vlookup_function_4

Étape 6 : Écrivez le code ci-dessous dans la console VBA et Exécuter le code

Code :

 Sub vlookup_function_4() Dim rng As Range, FinalResult As Variant, Table_Range As Range, LookupValue As Range Set rng = Sheets("Sheet4").Range("D15") Set Table_Range = Sheets("Sheet4").Range("B4:F11") Set LookupValue = Sheets("Sheet4").Range("D14") FinalResult = Application.WorksheetFunction.VLookup(LookupValue, Table_Range, 5, False) rng = FinalResult End Sub 

Étape 6 : Maintenant, entrez n'importe quel ID et appuyez sur le bouton

Lire la suite : Utilisation de VBA VLOOKUP pour trouver les valeurs d'une autre feuille de calcul dans Excel

Les choses à retenir

Erreurs courantes Quand ils montrent
1004 erreur Lorsque le code VBA vlookup ne trouve pas la valeur lookup_value, il émet une erreur 1004.
Fonction VLOOKUP introuvable en VBA La fonction Vlookup peut être appelée dans Excel VBA en utilisant WorksheetFunction.
Traitement des erreurs L'erreur dans la fonction vlookup peut être contrôlée à l'aide d'une fonction goto s'il renvoie une erreur.

Conclusion

Voici quelques façons d'utiliser le VLOOKUP en VBA dans Excel. J'ai montré toutes les méthodes avec leurs exemples respectifs mais il peut y avoir beaucoup d'autres itérations. J'ai également discuté des principes fondamentaux des fonctions utilisées. Si vous avez une autre méthode pour y parvenir, n'hésitez pas à la partager avec nous.

Hugh West est un formateur et analyste Excel très expérimenté avec plus de 10 ans d'expérience dans l'industrie. Il est titulaire d'un baccalauréat en comptabilité et finance et d'une maîtrise en administration des affaires. Hugh a une passion pour l'enseignement et a développé une approche pédagogique unique qui est facile à suivre et à comprendre. Sa connaissance approfondie d'Excel a aidé des milliers d'étudiants et de professionnels du monde entier à améliorer leurs compétences et à exceller dans leur carrière. Grâce à son blog, Hugh partage ses connaissances avec le monde, offrant des tutoriels Excel gratuits et une formation en ligne pour aider les particuliers et les entreprises à atteindre leur plein potentiel.