Vous pouvez tester comme ceci
Private Sub CommandButton8_Click()
Dim ligne As Integer
Dim TS As ListObject
Dim i As Byte
Set TS = Sheets("DATABASE").ListObjects(1)
If ListBox20.ListIndex = -1 Then Exit Sub
'trouver ligne correspondant à combobox1
ligne = WorksheetFunction.Match(ListBox20.List(ListBox20.ListIndex, 0), TS.ListColumns(1).DataBodyRange, 0)
With TS
For i = 2 To 26 'on part de la combobox2 pour compléter colonnes 2 à 26
.DataBodyRange(ligne, i).Value = Me.Controls("Combobox" & i).Value
Next i
For i = 27 To 30 'compléter colonnes 27 à 30
.DataBodyRange(ligne, i + 1).Value = Me.Controls("Textbox" & i).Value
Next i
End With
Unload Me
MsgBox "modification done!"
MODEMIDENTIFICATION.Show
UserForm_Initialize
End Sub
Sinon il y a d'autres choses à modifier je vois.
Votre code delete par exemple..