Pb avec VLookup
agadio31
Messages postés
9
Date d'inscription
Statut
Membre
Dernière intervention
-
agadio31 Messages postés 9 Date d'inscription Statut Membre Dernière intervention -
agadio31 Messages postés 9 Date d'inscription Statut Membre Dernière intervention -
Bonjour
j'ai un message d'erreur "Expression attendue" avec ce code :
Cells(Li, 33).Value = If IsError(Application.VLookup(ComboBox15.Value, Sheets("BDD").Range("B1:C500"), 2, "")) Then Cells(Li, 33).Value="" Else Cells(Li, 33).Value=Application.VLookup(ComboBox15.Value, Sheets("BDD").Range("B1:C500"), 2, "")
L'idée est de determiner la valeur d'une cellule (ici Li,33) en fonction d'une liste avec un "recherchev" et si erreur alors on laisse la cellule vide
Je n'arrive pas a trouver mon erreur.
Merci de votre aide
Fichier dispo si besoin bien sur !
j'ai un message d'erreur "Expression attendue" avec ce code :
Cells(Li, 33).Value = If IsError(Application.VLookup(ComboBox15.Value, Sheets("BDD").Range("B1:C500"), 2, "")) Then Cells(Li, 33).Value="" Else Cells(Li, 33).Value=Application.VLookup(ComboBox15.Value, Sheets("BDD").Range("B1:C500"), 2, "")
L'idée est de determiner la valeur d'une cellule (ici Li,33) en fonction d'une liste avec un "recherchev" et si erreur alors on laisse la cellule vide
Je n'arrive pas a trouver mon erreur.
Merci de votre aide
Fichier dispo si besoin bien sur !
2 réponses
Bonjour
pourquoi utiliser Vlookup ? il y a des fonctions VBA pour effectuer des recherches comme Find par exemple...
Michel
pourquoi utiliser Vlookup ? il y a des fonctions VBA pour effectuer des recherches comme Find par exemple...
Dim cellule As Range
With Sheets("BDD")
If Application.CountIf(.Columns("B"), combobox15.Value) > 0 Then
Set cellule = .Columns("B").Find(valeur, .Range("B" & .Cells.Rows.Count), xlValues)
ActiveSheet.Cells(li, 33) = cellule.Offset(0, 1)
Else
ActiveSheet.Cells(li, 33) = ""
End If
End With
Michel
Bonjour Michel
Je ne connais pas cette fonction. J'ai donc cherché (merci G....e !)
du coup le code donnerait ceci :
Dim Li33 as Variant
On Error Resume Next
Li33 = [Sheets("BDD").Range("B1:C500")].Find(What:=ComboBox15.Value, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByColumns).Address
If Not Li33 = '' Then Cells(Li, 33).Value=Li33
End if
J'ai testé mais .... !!!!
Un bon conseil est le bienvenu
Merci
Je ne connais pas cette fonction. J'ai donc cherché (merci G....e !)
du coup le code donnerait ceci :
Dim Li33 as Variant
On Error Resume Next
Li33 = [Sheets("BDD").Range("B1:C500")].Find(What:=ComboBox15.Value, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByColumns).Address
If Not Li33 = '' Then Cells(Li, 33).Value=Li33
End if
J'ai testé mais .... !!!!
Un bon conseil est le bienvenu
Merci