Dim T
Private Sub UserForm_Initialize()
Dim i As Long, x As Long
T = Range("t_BDD").ListObject.DataBodyRange.Value 'on récupére les données de la plage ainsi définie dans un Tableau temporaire
With Me.ComboBox1 'avec le Combobox
.ColumnCount = 2 'il aura 2 colonnes
.ColumnWidths = "1;0" 'dont la seule la premiere sera visible
For Lgn = 1 To UBound(T, 1) 'pour chaque ligne du tableau temporaire
.AddItem T(Lgn, 1) ' 'on récupére le Code Article
.List(.ListCount - 1, 1) = Lgn 'la Ligne source
Next Lgn
.SetFocus
End With
End Sub
Private Sub ComboBox1_Change()
Dim Lgn As Long
With Me.ComboBox1
If .Text = "" Then
MsgBox "Sélectionnez un code!", vbCritical + vbOKOnly, "CODE ARTICLE"
Me.TextBox2 = "": Me.TextBox3 = "": Me.TextBox4 = ""
Exit Sub
Else
Lgn = .List(.ListIndex, 1) 'On récupére la Ligne source (Colonne 1(2ème du Combobox)
Me.TextBox2 = T(Lgn, 2) 'Nom article
Me.TextBox3 = T(Lgn, 3) 'Mag
Me.TextBox4 = T(Lgn, 5) 'Emplacement (MAJ)
End If
End With
End Sub