je n'ai pas utilisé Workbook, et c'est inutile de s'en servir puisque le job de la macro concerne le seul classeur actif.
ce que je t'ai indiqué dans mon post précédent est pour une seule feuille : Worksheets("Feuille X") ; pour faire le job pour toutes les feuilles du classeur, il suffit de mettre une boucle pour toutes les parcourir, et d'appliquer sur chacune d'elle : 2 exemples :
Sub Essai()
Dim FX As Worksheet 'ici, c'est bien Worksheet au singulier, sans s final. ;)
For Each FX in Worksheets
FX.Unprotect "loup"
'mettre ici le job de la sub, avec dépendance de feuille par rapport à FX :
FX.[D5] = 10 'met 10 dans la cellule D5, même si elle est verrouillée
FX.Protect "loup"
Next FX
End Sub
Sub Essai()
Dim i%
For i = 1 To Worksheets.Count
With Worksheets(i)
.Unprotect "loup"
'mettre ici le job de la sub, avec dépendance de feuille par rapport au With
.[D5] = 10 'met 10 dans la cellule D5, même si elle est verrouillée
.Protect "loup"
End With
Next FX
End Sub
bien sûr, ce code VBA suppose que toutes les feuilles du classeurs ont été protégées avec le même mot de passe !
mais si pour toutes les feuilles y'a une protection simple sans mot de passe, c'est encore plus simple car y'a pas d'mot de passe à indiquer !
dhany