Programmer une textbox sous vba
Résolu
Bernard67360
-
Bidouilleu_R Messages postés 1181 Date d'inscription Statut Membre Dernière intervention -
Bidouilleu_R Messages postés 1181 Date d'inscription Statut Membre Dernière intervention -
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.
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
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...)
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...)
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
puis le code pour renseigner le textbox
il existe d'autres manière de faire avec des variables de type tableau par exemple.
A+
à 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+