Bonjour KTM, LouReeD,
* le conseil de LouReeD me paraît très judicieux, mais j'y apporte cette nuance : si le fichier est corrompu, j'vois pas bien c'qu'on pourrait faire ! (j'espère qu'c'est pas le cas ! )
* si tu as protégé la feuille "Ventes" avec le mot de passe "toto" (par exemple) :
Sub Essai()
With Worksheets("Ventes")
.Unprotect "toto" 'déprotège la feuille en utilisant ton mot de passe
'instructions de la sub qui modifient la feuille "Ventes", pour des cellules verrouillées ou non
.Protect "toto" 'reprotège la feuille avec le même mot de passe
End With
End Sub
si protection simple sans mot de passe, mets seulement .Unprotect
puis .Protect
(sans ce qui est à droite : l'espace et "toto")
c'est à faire pour toutes tes feuilles protégées, et ça s'complique si t'as mis un mot de passe différent pour chaque feuille.
avec un peu d'chance, ça évitera l'plantage du code VBA (et une éventuelle catalepsie d'Excel ! )
à tout hasard : https://support.microsoft.com/fr-fr/help/2758592/how-to-troubleshoot-crashing-and-not-responding-issues-with-excel
dhany