Sub Protections()
Dim w As Worksheet, o As Object, flag As Boolean
On Error Resume Next
For Each w In Worksheets
Set o = Nothing
Set o = w.DrawingObjects("MonBouton")
If Not o Is Nothing Then
If o.Text = "Ôter les protections" Then
If flag Then w.Unprotect "12345" Else w.Unprotect
If w.ProtectContents Then MsgBox "Mot de passe non valide...": Exit Sub
flag = True
w.Parent.Unprotect "12345"
o.Text = "Mettre les protections"
Else
o.Text = "Ôter les protections"
w.Protect "12345"
w.Parent.Protect "12345"
End If
End If
Next
End Sub