Salut Beginer Didier et le Forum
Comme le disait un célèbre proverbe chinois,
il vaut mieux apprendre à pêcher à celui qui a faim, plutôt que de lui donner du poisson!!!
Donc Beginner (et tous ceux qui ont le même problème, et il y en a en ce moment) je te (vous) conseille de télécharger un petit programme gratuit qui te (vous) permettra de charger tous les fichiers du forums en attendant que David ait trouvé et réglé ce petit problème...
Lien vers le site :
Ce logiciel n'existe plus
Télécharger le programme "Download Express 1.3.119 Release" pour Windows. (256Ko)
Le lien sur le fil de discussion traitant de ce sujet
Fichiers joints ZIP
Pour VlookUp utilisé en WorksheetFunction...
Le but d'utiliser cette Function en VBA dans un UserForm est de faire une recherche sur une base de donnée existante avec par exemple une ListBox qui elle même sera construite avec une colonne de la base de donnée. (par exemple un carnet d'adresse où l'on seléctionne un nom qui retourne le Tel, l'adresse, etc dans d'autres Controls...) Sinon il faut gérer l'erreur retournée (et ce n'est pas, à mon avis, le But d'utiliser VlookUp pour faire ce genre de checking)
Personellement, si on doit faire une recherche basée sur l'inconnu, par exemple, sur une String tapée librement par le User dans une TextBox, je prefère alors utiliser une boucle dans ce style :
Sub Recherche
Dim Cell As Range
Dim Plage As range
Dim Item As STring
Item = TextBox1
Set Plage Sheets("Toto").Range("A1:A50")
For Each Cell In Plage
If Cell.Value = Item Then
ListBox1.AddItem Cell.Offset(0, 3)
End If
Next Cell
End Sub
Ici je remplis une ListBox1 (si il y a plusieurs occurences... Et si il n'y en a aucune... et ben c'est explicit pour le User car la ListBox1 restera Vide de chez Vide !!! et sans erreur)....
Ensuite avec l'évènement click de cette ListBox1 je peux choisir dans les différents choix pour les Items retournés.... (au besoin je peux avoir plusieurs colonnes dans cette ListBox1 dont une contiendra la Row de l'item...et après c'est un jeu d'enfant de faire visionner dans des controls les différentes valeurs de cahque colonne dans cette Row)
Voilà ce n'est qu'un des moyens de travailler, Beginner... c'est en fait en fonction de ce que l'on a comme Database et de ce que l'on cherche à faire...
Allez bon travail et bon Dimanche à tous et toutes
@+Thierry