Option Explicit
Private PlgTablo As Range, LCou As Long, VLgn()
Private Sub UserForm_Initialize()
Actualiser
End Sub
Private Sub Actualiser()
Dim T(), L As Long
Set PlgTablo = Feuil17.Rows(2).Resize(Feuil17.[A1000000].End(xlUp).Row - 1, 15)
T = PlgTablo.Columns(1).Value
For L = 1 To UBound(T, 1): T(L, 1) = CStr(T(L, 1)): Next L
Me.ComboBox1.List = T
End Sub
Private Sub ComboBox1_Change()
Dim C As Long
If Me.ComboBox1.MatchFound Then
LCou = ComboBox1.ListIndex + 1
VLgn = PlgTablo.Rows(LCou).Value
Else
LCou = 0
ReDim VLgn(1 To 1, 1 To 15): End If
Me.TextBox1.Text = VLgn(1, 4)
For C = 2 To 6: Me("TextBox" & C).Text = VLgn(1, C + 9): Next C
End Sub
Private Sub CommandButton1_Click()
Dim C As Long, Z As String
If LCou = 0 Then Exit Sub
For C = 3 To 5
Z = Me("TextBox" & C).Text
If IsNumeric(Z) Then VLgn(1, C + 9) = CCur(Z) Else VLgn(1, C + 9) = Empty
Next C
PlgTablo.Rows(LCou).Value = VLgn
End Sub