Programmer une textbox sous vba

Résolu
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.
Configuration: Windows XP Internet Explorer 6.0

2 réponses

  1. 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...)
    1. 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+