Bonjour Christophe,
quand une macro ne peut pas faire son travail sur une feuille protégée (par exemple "Feuil1") :
1) il faut faire cela si "Feuil1" a été protégée sans mot de passe :
Sub Essai()
Worksheets("Feuil1").Unprotect
' ...
' ...
' ... instructions de la sub
' ...
' ...
Worksheets("Feuil1").Protect
End Sub
2) il faut faire cela si "Feuil1" a été protégée avec mot de passe (par exemple "abc") :
Sub Essai()
Worksheets("Feuil1").Unprotect "abc"
' ...
' ...
' ... instructions de la sub
' ...
' ...
Worksheets("Feuil1").Protect "abc"
End Sub
dans les 2 cas, si tu es sûr d'être déjà sur "Feuil1", tu peux bien sûr remplacer les Worksheets("Feuil1") par ActiveSheet
exemple pour le 2ème cas :
Sub Essai()
ActiveSheet.Unprotect "abc"
' ...
' ...
' ... instructions de la sub
' ...
' ...
ActiveSheet.Protect "abc"
End Sub
⚠ si "Feuil1" avait été protégée au départ avec des options spéciales supplémentaires que tu veux conserver après sortie de la sub, ne pas oublier de compléter le .Protect avec ce qu'il faut ! (regarde l'aide Excel pour plus d'infos)
dhany