Bonjour
Essayez plutot ceci
Private Sub CommandButton1_Click()
Dim msg As String, title As String, style As String
Dim response As Integer
Dim lig As Integer
Application.ScreenUpdating = False
If MsgBox("Etes-vous certain de vouloir supprimer la feuille ?", vbYesNo, "Demande de confirmation") = vbYes Then
'Supprime la feuille
valeur = ComboBox1.Value
Application.DisplayAlerts = False
Sheets(ComboBox1.Value).Delete
With Sheets("Nom")
lig = .ListObjects("Nom").DataBodyRange.Find(valeur, LookIn:=xlValues).Row
.Rows(lig).Delete
End With
With Sheets("Donnée")
lig = .Range("A:A").Find(valeur, LookIn:=xlValues).Row
.Rows(lig).Delete
End With
End If
Application.ScreenUpdating = True
Unload Me
End Sub
Note : Plutot que d'utiliser Rowssource lors de l'ouverture de l'usf (évitez rowssource qui amène souvent des soucis à un moment ou un autre), mettez cette macro dans l'usf pour l'ouverture.
Une fois fait supprimez la valeur dans Rowssource pour éviter un bug à l'ouverture
Private Sub UserForm_Initialize()
ComboBox1.List = Sheets("Nom").ListObjects("Nom").DataBodyRange.Value
End Sub
Cordialement