bonjour,
Ton ws ne représente rien.
Je suppose qu'il s'agit d'ActiveSheet dans ce cas remplace par :
Public Sub Delete_Worksheets()
With Application
.DisplayAlerts = False
.ScreenUpdating = False
End With
Select Case ActiveSheet.Name
Case "Accueil", "Données"
'ne rien faire
Case Else
'supprime la feuille
ActiveSheet.Delete
End Select
End Sub
Sinon tu peux aussi essayer :
Public Sub Delete_Worksheets()
Dim ws As Worksheet
Set ws = ..?..
'le reste sans changement
A+