Fonction VLOOKUP dans VBA
Nous présenterons comment utiliser VLOOKUP
dans VBA avec des exemples.
Utilisez la fonction VLOOKUP()
dans VBA
Dans Excel, nous pouvons utiliser la fonction VLOOKUP()
pour rechercher une valeur dans un tableau et renvoyer sa valeur comparable à partir d’une autre colonne. La valeur que nous voulons examiner doit exister dans la première colonne.
Nous devons également indiquer nos exigences, si nous voulons une correspondance parfaite ou celle qui se rapproche le plus de la valeur. Nous pouvons accéder au VLOOKUP
en utilisant la feuille de calcul.
Syntaxe:
# VBA
VLOOKUP(search_value,range,returnIndex_num,[lookupRange])
Le search_value
signifie la valeur que nous voulons rechercher. La range
est la plage sur laquelle nous travaillons, returnIndex_num
est le numéro de la colonne à partir de laquelle nous voulons la valeur de retour et lookupRange
indique si la correspondance est parfaite ou proche.
Il existe deux possibilités pour lookupRange
, qui peut être true
ou false
, ou 0
ou 1
.
Code:
#VBA
Application.WorksheetFunction.vlookup(search_value,range,returnIndex_num,[lookupRange])
Prenons des exemples et essayons d’en tirer des données. Nous avons des données qui contiennent les ID
des pigistes, les Noms
et les Projets soumis
.
Si nous voulons rechercher les projets réalisés par des freelances ayant ID 4
, nous devons les trouver en utilisant la fonction vlookup()
de VBA.
Tout d’abord, nous ouvrons l’éditeur VBA en appuyant sur la touche ALT + F11 et créons un nouveau module à partir de Insérer > Module
. Ensuite, nous créons un nouveau sous lookForProj()
et attribuons des variables pour freelancer_id
et projects completed
.
Nous définirons également une gamme dans laquelle nous souhaitons trouver le freelancer.
Code:
#VBA
Sub lookForProj()
Dim freelancer_id As Long
Dim projects As Long
freelancer_id = 4
Set newRange = Range("A2:C6")
projects = Application.WorksheetFunction.VLookup(freelancer_id, newRange, 3, False)
MsgBox "Freelancer with ID: " & freelancer_id & " completed " & projects & " projects"
End Sub
Production:
Montrons un autre exemple. Considérons les données contenant les noms des produits et leurs ventes, et supposons que nous ayons ajouté ces données dans les colonnes B
et C
.
Nous souhaitons rechercher le nombre de ventes d’un produit en utilisant la fonction vlookup()
. Tout d’abord, créons un nouveau module à partir de Insert > Module
et créons un nouveau sous, lookForSales()
.
Nous assignerons des variables pour product_id
et sales
et définirons une plage dans laquelle nous voulons trouver le pigiste.
Code:
# VBA
Sub lookForSales()
Dim product_id As Long
Dim sales As Long
product_id = 2
Set newRange = Range("A2:C6")
sales = Application.WorksheetFunction.VLookup(product_id, newRange, 3, False)
MsgBox "Product with ID: " & product_id & " sold " & sales & " times"
End Sub
Production: