finalement avec un peu de persévérance et beaucoup d'heure de documentation j'ai réussi a trouvé la solution en modifiant mon formulaire, juste avec un bouton modifier et créer un autre bouton supprimer séparément.
Je partage ma solution si ça peut aider quelqu'un :
Private Sub ComboBox1_Change()
'actualise toutes mes texbox
Dim cell As Range
Dim cherch As String, derlign As Long
derlign = Sheets("Tableau général").Range("B100").End(xlUp).Row
cherch = ComboBox1
Set cell = Sheets("Tableau général").Range("B5:I" & derlign).Find(cherch, lookat:=xlWhole)
If Not cell Is Nothing Then
Ligne = cell.Row
Txt_Prenom.Value = cell.Offset(0, 1)
End If
End Sub
Private Sub CommandButton1_Click()
'ici la variable de la modification
Dim no_ligne As Integer
Sheets("Tableau général").Select
no_ligne = ComboBox1.ListIndex + 5
Cells(no_ligne, 3) = Txt_Prenom.Value
Cells(no_ligne, 4) = CboContrat.Value
Cells(no_ligne, 5) = CreditsF.Value
Cells(no_ligne, 6) = TxtHeuresAnnuel.Value
End Sub
Private Sub UserForm_Initialize()
Dim L&
With Feuil2 ' = CodeName ou Sheets("Commandes")
' récupérer la liste déroulante dans la feuille Commandes
CboContrat.List = .Range("G2:I" & .Range("G" & Rows.Count).End(xlUp).Row).Value
For L = 2 To .Range("E" & Rows.Count).End(xlUp).Row
Next L
End With