En enregistrant une macro pour une protection basique de la feuille, on obtient le code suivant :
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
En y ajoutant l'option ''Format de cellule'', ça devient :
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingCells:=True
On voit donc que l'instruction AllowFormattingCells correspont à ''Format de cellule''. Les autres instructions concernant DrawingObjects, Contents et Scenarios ne semblent pas obligatoires.
Voici donc ton code transformé, avec le passage remplacé mis en commentaire avec 5 ' :
Sub Protéger()
' Protection automatique de toutes les feuilles d'un classeur
Dim nombre As Integer
Dim Motdepasse As String
Motdepasse = InputBox("Entrer le mot de passe :", "Mettre la protection sur toutes les feuilles", "")
nombre = ActiveWorkbook.Sheets.Count
Application.ScreenUpdating = False
For i = 1 To nombre
'''''Worksheets(i).Protect Password:=Motdepasse
Worksheets(i).Protect AllowFormattingCells:=True, Password:=Motdepasse
Next i
End Sub
Pour modifier toi-même ce code pour d'autres usages, fais très attention aux endroits où il y a des virgules ou non.
Amicalement