Table des matières
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.xlsm4 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.