Programmer une textbox sous vba

Résolu/Fermé
Bernard67360 - 15 déc. 2009 à 10:33
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 - 15 déc. 2009 à 11:20
Bonjour,
J'ai crée une listbox dans laquel j'ai repoertorié differents produits, j'ai ensuite crée une textbox, et j'aimerai bien que lorsque je clique sur un produit dans la listbox, la référence due ce produit s'affiche dans la textbox. Sur une feuille excel , dans la colonne A, j'ai listé tous mes produit, et dans la colonne B, toutes les références associées.
Quelqu'un pourrait - il me dépanner, car je ne trouve pas le bon programme.
Je vous remercie d'avance.

2 réponses

Samygale Messages postés 45 Date d'inscription jeudi 10 décembre 2009 Statut Membre Dernière intervention 18 décembre 2009 1
15 déc. 2009 à 11:09
Bonjour,
Vous pouvez mettre les deux colonnes (1 Prod, 2 Ref) dans vote liste déroulante (propriété ColumnCount à 2), et ajouter un évènement "sur clic" :

TextBox1.Value = ComboBox1.Column(1) (0 étant ici la colonne 1, 1 la colonne 2, etc...)
0
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 289
15 déc. 2009 à 11:20
sinon une autre méthode

à l'initialisation du userform
personnellement je déclare la variable NbLig en public au niveau du module

public NbLig as integer

Private Sub UserForm_Initialize()

 Sheets(1).Select ' la feuille ou se trouve ta base
NbLig = Range("a1").CurrentRegion.Rows.Count
For i = 1 To NbLig
    UserForm1.ListBox1.AddItem Range("a1").Offset(i, 0).Value
    
Next

End Sub


puis le code pour renseigner le textbox

Private Sub ListBox1_Click()

With Worksheets(1).Range("a1:a" & NbLig)
    Set c = .Find(UserForm1.ListBox1.Value, LookIn:=xlValues)
    If Not c Is Nothing Then
        firstAddress = c.Address
        Do
            UserForm1.TextBox1.Value = c.Offset(0, 1).Value
            Set c = .FindNext(c)
        Loop While Not c Is Nothing And c.Address <> firstAddress
    End If
End With

End Sub


il existe d'autres manière de faire avec des variables de type tableau par exemple.

A+
0