A force d'essayer, j'ai "pondu" ça (ajout en gras):
Sub Nettoyage()
Dim Choix
Choix = MsgBox("Confirmer la suppression des produits sortis ?", 36, "Confirmation attendue")
If Choix = vbYes Then 'Si l'utilisateur a cliqué sur le bouton Oui
Range("Tableau2[[#Headers],[ETAT]]").AutoFilter
Range("Tableau2").AutoFilter Field:=12, Criteria1:="Sortie"
If Range("Tableau2").ListObject.ListColumns(12).Range.SpecialCells(xlCellTypeVisible).Count <= 1 Then
Range("Tableau2[[#Headers],[ETAT]]").AutoFilter
MsgBox "Aucune ligne à supprimer", vbInformation, "Tout va bien"
Else
If Not Range("Tableau2").ListObject.DataBodyRange Is Nothing Then
Application.DisplayAlerts = False
Range("Tableau2").ListObject.DataBodyRange.SpecialCells(xlCellTypeVisible).Delete
Application.DisplayAlerts = True
If Worksheets("Saisie").FilterMode = True Then Range("Tableau2[[#Headers],[ETAT]]").AutoFilter
Range("Tableau2[[#Headers],[ETAT]]").Select
Selection.AutoFilter
MsgBox "Les lignes avec Sorties ont été supprimées", vbInformation, "Voilà, c'est fait !"
End If
End If
Else
MsgBox "A une prochaine fois !", vbExclamation, "A bientôt"
End If
End Sub
Et ça marche,
Donc, affaire résolue..
Merci de ton aide.
Pierre