Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
Boostez vos compétences Excel avec notre communauté !
Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force.
Apprenez, échangez, progressez – et tout ça gratuitement !
👉 Inscrivez-vous maintenant !
Private Sub ToggleButton1_Click()
Dim MdP As String
If ToggleButton1 = True Then
ToggleButton1.Interior.ColorIndex = 3
For sh = 1 To ActiveWorkbook.Sheets.Count
Sheets(sh).Protect "alain"
ToggleButton1.BackColor = &HFF&
ToggleButton1.Caption = "Déprotection"
Next
Else
MdP = InputBox("Mot de passe ?", "Déblocage de la feuille")
If MdP = "alain" Then
For sh = 1 To ActiveWorkbook.Sheets.Count
Sheets("Feuil1").Unprotect "alain"
ToggleButton1.BackColor = &HFF00&
ToggleButton1.Caption = "Protection"
Next
End If
End If
End Sub
Private Sub ToggleButton1_Click()
Dim MdP As String
Dim X As Byte
For X = 1 To ActiveWorkbook.Worksheets.Count
If ToggleButton1 = True Then
ToggleButton1.Interior.ColorIndex = 3
Sheets(X).Protect "alain"
ToggleButton1.BackColor = &HFF&
ToggleButton1.Caption = "Déprotection"
Else
MdP = InputBox("Mot de passe ?", "Déblocage de la feuille")
If MdP = "alain" Then
Sheets(X).Unprotect "alain"
ToggleButton1.BackColor = &HFF00&
ToggleButton1.Caption = "Protection"
End If
End If
Next
End Sub
Une version avec la boucle For Each et une protection sans sélection possible:
Private Sub ToggleButton1_Click()
Dim MdP As String, Feuille As Worksheet
If ToggleButton1 = True Then
For Each Feuille In Sheets
ToggleButton1.Interior.ColorIndex = 3
Feuille.Protect "alain", DrawingObjects:=True, Contents:=True, Scenarios:=True
Feuille.EnableSelection = xlNoSelection
ToggleButton1.BackColor = &HFF&
ToggleButton1.Caption = "Déprotection"
Next Feuille
Else
MdP = InputBox("Mot de passe ?", "Déblocage de la feuille")
If MdP = "alain" Then
For Each Feuille In Sheets
Feuille.Unprotect "alain"
ToggleButton1.BackColor = &HFF00&
ToggleButton1.Caption = "Protection"
Next Feuille
End If
End If
End Sub
Apparemment, dans la macro de JCGL, il faut saisir le mot de passe autant de fois qu'il y a de feuilles , dans la macro de Papou-net, le déblocage ne s'effectue pas sur la totalité des feuilles et dans la macro de CBernard T, ça marche !
Private Sub ToggleButton1_Click()
' Déclaration des variables
Dim MdP As String, Feuille As Worksheet
' Définition de l'état du bouton
If ToggleButton1 = True Then ' Soit normal pour la protection
' Boucle sur les feuilles de la collection des feuilles du classeur
For Each Feuille In Sheets
' Protection de l'objet feuille actif de la collection des feuilles
Feuille.Protect "alain", DrawingObjects:=True, Contents:=True, Scenarios:=True
' Propriété qui interdit toute sélection dans l'objet feuille actif
Feuille.EnableSelection = xlNoSelection
ToggleButton1.BackColor = &HFF& ' Changement de couleur de fond
ToggleButton1.Caption = "Déprotection" ' Changement d'identification du bouton
Next Feuille ' Changement d'objet feuille
Else ' Soit Enfoncé pour la supprimer la protection
' Ouverture d'une boite de dialogue qui permet à l'utilisatyeur de taper un texte
MdP = InputBox("Mot de passe ?", "Déblocage de la feuille")
' Si le mot de passe tapé est égal à alain alors
If MdP = "alain" Then
' Boucle sur les feuilles de la collection des feuilles du classeur
For Each Feuille In Sheets
' Suppression de la protection de l'objet feuille actif de la collection des feuilles
Feuille.Unprotect "alain"
ToggleButton1.BackColor = &HFF00& ' Changement de couleur de fond
ToggleButton1.Caption = "Protection" ' Changement d'identification du bouton
Next Feuille ' Changement d'objet feuille
End If
End If
End Sub
Apparemment, dans la macro de JCGL, il faut saisir le mot de passe autant de fois qu'il y a de feuilles , dans la macro de Papou-net, le déblocage ne s'effectue pas sur la totalité des feuilles et dans la macro de CBernard T, ça marche !
Si, la totalité des feuilles est bloquée/débloquée (enfin si on remplace Sheets("Feuil1").Unprotect "alain" par Sheets(sh).Unprotect "alain").
Par contre, il faut sélectionner une cellule dans la feuille où se trouve le bouton pour que la protection se mette à jour.
- Navigue sans publicité - Accède à Cléa, notre assistante IA experte Excel... et pas que... - Profite de fonctionnalités exclusives Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel. Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.