Comparer la valeur d'une textbox aux valeur d'une colonne.

MaximeRoth

XLDnaute Junior
Bonjour,

Je suis en train de faire une interface VBA pour une inscription dans Excel.
Afin de simplifier ces inscriptions je souhaite faire des auto-remplissages de certaines textbox.
Pour cela j'ai une base de données sous Excel et en fonction de la valeur de la textbox "Référence" les valeurs des autres textbox varient (fonction LookupV).
Le problème est que lorsque je lance la recherche (LookupV) si la référence que j'ai entrée ne correspond à aucune donnée dans ma base de données, ça plante car il n'arrive pas à initialisé la recherche (normale aucune correspondance).
Pour pallier cela j'ai essayé de faire une première itération:

Si textbox vide ==> Msg Erreur
Si textbox contient une valeur présente dans la base de données ==> faire la recherche
Si textbox ne contient pas de valeur présente dans la base de données ==> Msg erreur

J'essai donc de comparer la valeur de ma textbox à une colonne de ma base de données afin de voir si il ya une correspondance, et si oui lancer la recherche (si non msg erreur).

Voici mon code:

With Sheets("Numero_de_Serie")

If TextBox1.Value = "" Then
MsgBox "Entrez un code svp", , "Erreur"

ElseIf TextBox1.Value = WorksheetFunction.VLookup(TextBox1.Value, Sheets("Base_Article").Range("B3:B32"), 1, False) Then
TextBox2.Value = WorksheetFunction.VLookup(TextBox1.Value, Sheets("Base_Article").Range("B3: D32"), 2, False)

ElseIf TextBox1.Value <> WorksheetFunction.VLookup(TextBox1.Value, Sheets("Base_Article").Range("B3:B32"), 1, False) Then
MsgBox "Code non reconnu", , "Erreur"

End If


Le Message d'erreur si cellule vide fonctionne, la recherche si la valeur entré en textbox 1 correspond à une valeur de la matrice fonctionne aussi. La seule étape manquante est quand la valeur entré dans la textbox1 ne correspond à rien.

Si vous avez une solution je suis preneur :D
 

Pierrot93

XLDnaute Barbatruc
Re : Comparer la valeur d'une textbox aux valeur d'une colonne.

Bonsoir,

essaye peut être ainsi, non testé...
Code:
ElseIf IsError(WorksheetFunction.VLookup(TextBox1.Value, Sheets("Base_Article").Range("B3:B32"), 1, False)) Then
MsgBox "Code non reconnu", , "Erreur"

sinon perso utiliserais plutôt la méthode "find" native de vba....

bon après midi
@+
 

MaximeRoth

XLDnaute Junior
Re : Comparer la valeur d'une textbox aux valeur d'une colonne.

Merci pour ta réponse.
Cependant j'ai toujours la même erreur:
"Impossible de lire la propriété Vlookup de la classe WorksheetFunction"
Intervenant au premier "Else If".
Je suis débutant avec VBA je ne connais pas la fonction find, mais je vais regarder ça.

Bonne soirée
A+
 

Pierrot93

XLDnaute Barbatruc
Re : Comparer la valeur d'une textbox aux valeur d'une colonne.

Re,

peut être...
Code:
ElseIf not iserror(WorksheetFunction.VLookup(TextBox1.Value, Sheets("Base_Article").Range("B3:B32"), 1, False)) Then
TextBox2.Value = WorksheetFunction.VLookup(TextBox1.Value, Sheets("Base_Article").Range("B3: D32"), 2, False)
 

Discussions similaires

Réponses
12
Affichages
496

Statistiques des forums

Discussions
312 495
Messages
2 088 964
Membres
103 992
dernier inscrit
Christine 974