Salut,
Si j'ai bien compris ce que tu veux faire colles ces 2 fonctions dans un module standard ou le module de ton USF;
'permet de savoir le 1 er textbox vide
Function TxtB() As Byte
Dim I As Byte
For I = 7 To 81 Step 5 'textbox7 à textbox81
If Controls("Textbox" & I) = "" Then TxtB = I: Exit Function
Next I
End Function
'I est le N) de ligne, J le N° de controle
Sub RempTxtB(I&, J As Byte, NomF$)
On Error Resume Next
With Sheets(NomF)
Controls("Textbox" & J) = .Range("F" & I) 'Article
Controls("Textbox" & J + 1) = .Range("D" & I) 'code Article
Controls("Textbox" & J + 4) = .Range("J" & I) 'prix HT
End With
End Sub
'ensuite
Private Sub CommandButton1_Click() 'Ajouter
With ListBox1
If .ListIndex = -1 Then Exit Sub
RempTxtB .ListIndex + 4, TxtB, "Liste" ' 4 car ta plage commence en ligne 4
End With
End Sub
A+++