pour que le code puisse fonctionner sur feuille protégée, il faut que la protectition se fasse par le code en utilisant l'argument "userinterfaceonly", exemple ci-dessous à placer dans le module "thisworkbook", se déclenche à l'ouverture du classeur :
Code:
Option Explicit
Private Sub Workbook_Open()
Dim ws As Worksheet
For Each ws In Worksheets
ws.Protect "toto", userinterfaceonly:=True
Next ws
End Sub