dans ton fichier tu vas chercher la premiere cellule vide de chaque colonne d'ou le probleme de décalage quand il y a un vide dans la ligne précédente .
peux tu tester le ptit bout de procedure ci dessous pour remplir les colonnes 5 et 6
tu enleves Range("e65536").End(xlUp).Cells(2, 1) = (TextBox5)
Range("f65536").End(xlUp).Cells(2, 1) = (TextBox6)
et tu remplaces par
Dim val As Integer ' def. variable à placer en début de procedure
Bon ben je vois que tu es déjà en bonne main...je voyais le principe suivant pour répondre à ta question...
Private Sub CommandButton1_Click()
Dim Lig As Integer
If TextBox1 = "" Then MsgBox "Textbox 1 sans valeur", vbInformation, "=> information": Exit Sub
Lig = Range("A65536").End(xlUp).Row + 1
With Sheets(1)
.Range("A" & Lig).Value = (TextBox1)
.Range("B" & Lig).Value = (TextBox2)
.Range("C" & Lig).Value = (TextBox3)
.Range("D" & Lig).Value = (TextBox4)
.Range("E" & Lig).Value = (TextBox5)
.Range("F" & Lig).Value = (TextBox6)
End With
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""
TextBox5 = ""
TextBox6 = ""
End Sub
mais bon...c'est un exemple...j'ai pas voulu te proposer quelque chose de plus abouti car tu risquerais de ne pas comprendre le langage VBA...on peut y aller progressivement...
D'emblée ce qu'il manquerait dans la procédure serait de contrôler les valeurs de chaque TextBox par exemple...
Bonne programmation
PS : Macro à copier depuis le forum auquel cas tu risques d'avoir les attributs gras du post dedans...