Ci joint le code je crois comme demandé avec le bouton de mise à jour et d'enregistrement, je pense que c'est cela que tu attendais
Private Sub CBnValiderA_Click()
TVLA(1, 6) = Me.TxtALongueurcolisage.Text
TVLA(1, 7) = Me.TxtALargeurcolisage.Text
TVLA(1, 8) = Me.TxtAHauteurcolisage.Text
TVLA(1, 9) = Me.TxtACréele.Text
TVLA(1, 10) = Me.TxtANotes.Text
TVLA(1, 11) = Me.TxtADelaislivraison.Text
TVLA(1, 12) = Me.TxtAFraistransport.Text
TVLA(1, 13) = Me.TxtAFacturation.Text
TVLA(1, 14) = Me.CBxModedegestion.Text
TVLA(1, 15) = Me.TxtInfosColisage.Text
TVLA(1, 16) = Me.TxtAminicommande.Text
TVLA(1, 17) = CCur(Me.TxtAPrixUnitHT.Text)
TVLA(1, 18) = Me.TxtStockmini.Text
TVLA(1, 19) = Me.TxtDateSI.Text
TVLA(1, 20) = Me.TxtSI.Text
If LCouA = 0 Then
CLsA.ValeursVers TVLA
CLsA.Lignes.Add.Range.Value = TVLA
CLsA.Actualiser
Rem. Refaire un Dictionary ? Refiltrer quelque chose ? On verra !
Else
'''CLsA.Lignes(LCouA).Range.Value = TVLA 'pour rapatrier toute les valeur mais supprimes supprimes les formules des colonnes
CLsA.Lignes(LCouA).Range.Resize(, 20).Value = TVLA '20=nombre de colonnes contenant des constantes
End If
End Sub