J'explique mon problème. J'ai beaucoup de feuilles protégés avec un code en VBA ( voir ci-dessous).
Je voudrais à chaque fois que j'appuie sur le bouton bloqué que le filtre et grouper et dégrouper soient autorisés.
Je sais que je peux utiliser ces codes mais je vois pas comment les introduire sur mes codes ci-dessous. .EnableAutoFilter = True
.EnableOutlining = True
.Protect Contents:=True, Password:="xxx", UserInterfaceOnly:=True
VB:
Sub PictureUnLock()
mdp = InputBox("Veuillez entrer le mot de passe, svp", "Déprotection")
If mdp = "" Then Exit Sub
If mdp <> "XXX" Then
MsgBox "vous n'avez pas les droits"
Else
For Each Sh In Sheets
Sh.Unprotect mdp
Next Sh
End If
End Sub
Code:
Sub PictureLock()
For Each Sh In Sheets
Sh.Protect "XXX"
Next Sh
End Sub
le code que je vous propose, est le résultat d'une déduction, mais je ne vous garantis pas qu'il soit totalement
en harmonie avec les règles de l'art.
pour un foncitonnement optimum des macros, il est important de déclarer les variables.
VB:
Sub test()
Dim SH As Worksheet
For Each SH In Worksheets
SH.Protect Password:="XXX", UserInterfaceOnly:=True, Contents:=True, AllowFiltering:=True
Next SH
End Sub
Sub PictureUnLock()
Dim SH As Worksheet
mdp = InputBox("Veuillez entrer le mot de passe, svp", "Déprotection")
If mdp = "" Then Exit Sub
If mdp <> "XXX" Then
MsgBox "vous n'avez pas les droits"
Else
For Each SH In Worksheets
SH.Unprotect mdp
Next SH
End If
End Sub
le code que je vous propose, est le résultat d'une déduction, mais je ne vous garantis pas qu'il soit totalement
en harmonie avec les règles de l'art.
pour un foncitonnement optimum des macros, il est important de déclarer les variables.
VB:
Sub test()
Dim SH As Worksheet
For Each SH In Worksheets
SH.Protect Password:="XXX", UserInterfaceOnly:=True, Contents:=True, AllowFiltering:=True
Next SH
End Sub
Sub PictureUnLock()
Dim SH As Worksheet
mdp = InputBox("Veuillez entrer le mot de passe, svp", "Déprotection")
If mdp = "" Then Exit Sub
If mdp <> "XXX" Then
MsgBox "vous n'avez pas les droits"
Else
For Each SH In Worksheets
SH.Unprotect mdp
Next SH
End If
End Sub
le code que je vous propose, est le résultat d'une déduction, mais je ne vous garantis pas qu'il soit totalement
en harmonie avec les règles de l'art.
pour un foncitonnement optimum des macros, il est important de déclarer les variables.
VB:
Sub test()
Dim SH As Worksheet
For Each SH In Worksheets
SH.Protect Password:="XXX", UserInterfaceOnly:=True, Contents:=True, AllowFiltering:=True
Next SH
End Sub
Sub PictureUnLock()
Dim SH As Worksheet
mdp = InputBox("Veuillez entrer le mot de passe, svp", "Déprotection")
If mdp = "" Then Exit Sub
If mdp <> "XXX" Then
MsgBox "vous n'avez pas les droits"
Else
For Each SH In Worksheets
SH.Unprotect mdp
Next SH
End If
End Sub