je n'arrive pas à comprendre la raison pour laquelle les lignes de code ci-dessous fonctionnent pour une feuille et pas pour l'autre.
VB:
Private Sub Worksheet_Deactivate()
With Feuil2 'ne fonctionne pas'
.Unprotect 123
If Not .ListObjects(1).DataBodyRange Is Nothing Then .ListObjects(1).DataBodyRange.Delete
.Protect 123
End With
End Sub
Private Sub Worksheet_Deactivate()
With Feuil3 'fonctionne'
.Unprotect 123
If Not .ListObjects(1).DataBodyRange Is Nothing Then .ListObjects(1).DataBodyRange.Delete
.Protect 123
End With
End Sub
Merci, ça m'a complétement dérouté ce matin. Je n'ai pas compris pourquoi ça fonctionner pour une feuille et pas pour l'autre. Le code proposé par @dysorthographie fonctionne.