Excel vers userform...merci

louvierseb Messages postés 63 Date d'inscription mercredi 16 juillet 2008 Statut Membre Dernière intervention 15 juillet 2009 - 29 août 2008 à 21:22
kinneri Messages postés 44 Date d'inscription jeudi 14 octobre 2004 Statut Membre Dernière intervention 3 septembre 2008 - 30 août 2008 à 12:58
bonjour,
je souhaiterais que dans une combobox de mon userform je tape un nom qui est parmi ceux de la 1ere colonne de mon fichier excel et que je recupere les donnees de la ligne dans differentes textbox de mon user form
imaginons ce fichier excel:

nom        prenom    age
dupond    alex         21
durand     nico         22

et bien jai mon userform avec une combobox ou je tape dupond par exemple puis je clik sur 'search'
et dans une textbox1 de mon userform il ecrit dupond
dans une textbox2 de mon userform il ecrit alex
dans une textbox3 de mon userform il ecrit 21

merci de votre aide precieuse...

3 réponses

kinneri Messages postés 44 Date d'inscription jeudi 14 octobre 2004 Statut Membre Dernière intervention 3 septembre 2008
29 août 2008 à 23:08
Bonsoir.

voila le code qu'il te faut

Private Sub CommandButton1_Click()
Dim a, b
On Error GoTo fin
With Worksheets(1).Range("a1:a500")
    Set c = .Find(ComboBox1.Text, LookIn:=xlValues)
    firstaddress = c.Address
    a = c.Row
    b = c.Column
    TextBox2.Text = Worksheets(1).Cells(a, b).Value
    TextBox3.Text = Worksheets(1).Cells(a, b + 1).Value
    TextBox4.Text = Worksheets(1).Cells(a, b + 2).Value
End With
fin:
End Sub

reste a adapter suivant ce que tu souhaites.
A+
0
dedenet2 Messages postés 372 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 22 juillet 2013 2
30 août 2008 à 01:18
Salut ,
Finalement , tu reposes la question que tu m'avais demandé et
pour laquelle je t'avais donné des indices !
Dur Dur d'être débutant !
C'est bien la bonne méthode !
Kinneri , comment traites tu la recherche si plusieurs personnes ont le même nom ?????.
Apparemment , ce code permet seulement de trouver le 1er nom de la liste meme s'il n'en a plusieurs identiques.
Il faut introduire une boucle pour balayer toute la liste.
Bonne nuit
A++
0
kinneri Messages postés 44 Date d'inscription jeudi 14 octobre 2004 Statut Membre Dernière intervention 3 septembre 2008
30 août 2008 à 12:58
bonjour,

oui, il te faut ça.
Do
            Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress

mais il serait preferable de placer les info dans un listbox ou combobox

A+
0
Rejoignez-nous