Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

vba vlookup

P

Phaumesser

Guest
Bonjour à tous,
j'ai ecrit un code vba dans lequel je cherche a vérifier l'existence ou non d'une cellule dans ma feuille.
j'ai donc defini une variable
contral as variant
et une autre variable

et mon code est

contral = VLOOKUP("A:A",variable,1,FALSE)

le debogeur me dit:
Sub, Function ou Property non définie

que puis je faire ?

Merci de votre aide
 
@

@+Thierry

Guest
Salut Phaumesser, le Forum

Pas vraiment dans les règles ta syntax ;-)

Un exemple où trois labels vont être alimentées par des Variables de types String, lesquelles seront initialisées au click d'une ListBox qui va lancer un VlookUp sur une plage :

Private Sub ListBox1_Click()
Dim myRange As Range
Dim Adresse As String

Companie = ListBox1.Value
Set myRange = Worksheets("Company").Range("f2:AI100")

Adresse = Application.WorksheetFunction.VLookup(Companie, myRange, 2, False)
POBox = Application.WorksheetFunction.VLookup(Companie, myRange, 3, False)
City = Application.WorksheetFunction.VLookup(Companie, myRange, 4, False)
Country = Application.WorksheetFunction.VLookup(Companie, myRange, 5, False)

LabStreet.Caption = Adresse
LabPOBox.Caption = POBox
LabCity.Caption = City
LabCountry.Caption = Country

End sub

Bonne soirée
@+Thierry
 
P

Phaumesser

Guest
Merci Thierry
ca marche mais j'ai un autre souci,
quand la valeur recherchée n'existe pas il me renvoit un message d'erreur.

Moi je souhaiterais:

Si il trouve la valeur, il fait un action (avec if then)
si il ne trouve pas la valeur, il fait autre chose.

Tu peux m'aider ?
 
@

@+Thierry

Guest
Bonjour Phaumesser, le Forum

Sorry je n'étais pas sur le Forum depuis.

Vite fait, tu peux faire un truc comme ceci en se basant sur une gestion d'erreur simple :

Option Explicit

Private Sub CommandButton1_Click()
Dim myRange As Range
Dim Item As String, RechercheV As Variant
Item = TextBox1.Value
Set myRange = Worksheets("Sheet1").Range("A1:B100")

On Error GoTo Fin
RechercheV = Application.WorksheetFunction.VLookup(Item, myRange, 2, False)
MsgBox "Glop Glop j'ai trouvé " & RechercheV

Exit Sub

Fin:
MsgBox "Pas Glop " & Item & " n'existe pas"
End Sub

Bon Aprèm
@+Thierry
 

Discussions similaires

Réponses
3
Affichages
395
Réponses
6
Affichages
469
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…