Comment utiliser XLOOKUP dans VBA (avec exemples)
Vous pouvez utiliser la syntaxe de base suivante pour effectuer une XLOOKUP à l’aide de VBA :
Sub Xlookup()
Range("F2").Value = WorksheetFunction.Xlookup(Range("E2"), Range("A2:A11"), Range("C2:C11"))
End Sub
Cet exemple particulier recherche la valeur dans la cellule E2 dans la plage A2:A11 et trouve la valeur correspondante dans la plage C2:C11 , puis affecte le résultat à la cellule F2 .
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : Comment utiliser XLOOKUP dans VBA
Supposons que nous ayons l’ensemble de données suivant dans Excel qui contient des informations sur divers joueurs de basket-ball :
Supposons que nous souhaitions rechercher le nom de l’équipe « Kings » dans l’ensemble de données et renvoyer la valeur correspondante dans la colonne des passes décisives.
Nous pouvons créer la macro suivante pour ce faire :
Sub Xlookup()
Range("F2").Value = WorksheetFunction.Xlookup(Range("E2"), Range("A2:A11"), Range("C2:C11"))
End Sub
Lorsque nous exécutons cette macro, nous recevons le résultat suivant :
La macro renvoie correctement une valeur de 3 passes décisives pour les Kings.
Si nous modifions le nom de l’équipe dans la cellule E2 , puis exécutons à nouveau la macro, elle trouvera correctement la valeur d’assistance pour le nouveau nom de l’équipe.
Par exemple, supposons que nous changeons le nom de l’équipe en « Guerriers » et que nous exécutons à nouveau la macro :
La macro renvoie correctement une valeur de 4 passes décisives pour les Warriors.
Notez que vous pouvez également ajouter un quatrième argument facultatif à la fonction Xlookup pour spécifier la valeur qui doit être affichée si aucune correspondance n’est trouvée.
Par exemple, vous pouvez utiliser la macro suivante pour exécuter une fonction XLOOKUP et renvoyer « Aucune » si aucune correspondance n’est trouvée :
Sub Xlookup()
Range("F2").Value = WorksheetFunction.Xlookup(Range("E2"), Range("A2:A11"), Range("C2:C11"), "None")
End Sub
N’hésitez pas à remplacer « Aucun » par n’importe quelle valeur que vous souhaitez afficher.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans VBA :
VBA : comment utiliser la correspondance d’index
VBA : comment utiliser RECHERCHEV
VBA : Comment utiliser RECHERCHEV à partir d’une autre feuille