Bonjour le forum,
J'ai construit un fichier avec plus de 40 onglets et dans chaque onglet j'ai déjà défini des cellules qui seront verrouillées (où l'utilisateur ne pourra pas changer le contenu, ni le format) et d'autres cellules/objets déverrouillés où les utilisateurs pourront modifier/insérer cellule/image-objet.
J'ai par ailleurs, créé deux boutons dans mon onglet 'Programmation' pour i) verrouiller toutes les feuilles et ii) pour les déverrouiller via un MDP Voici mon code ci-dessous
Cependant, je souhaiterais pouvoir lorsque je click sur le bouton 'Protection' (CommandButton46) faire apparaître une boite de dialogue similaire à celle de Accueil>Format>Protéger la feuille, pour autoriser les utilisateurs de cette feuille à :
i) Sélectionner les cellules verrouillées
ii) Sélectionner les cellules déverrouillées
iii) Changer le format de cellule
iv) Modifier les objets
v) Modifier les scénarios
Voici le code ci-dessous que j'ai essayé mais qui ne marche pas du tout
Je suis débutant en macro et je ne sais pas comment résoudre cette problématique...Etant l'administrateur du fichier, je souhaite pouvoir protéger d'un seul coup tous les onglets en autorisant les utilisateurs à faire ce que j'ai mentionné de i) à v) et enlever la protection via mon MDP.
Je vous remercie pour votre aide.
Voici le fichier en PJ
Lematou
J'ai construit un fichier avec plus de 40 onglets et dans chaque onglet j'ai déjà défini des cellules qui seront verrouillées (où l'utilisateur ne pourra pas changer le contenu, ni le format) et d'autres cellules/objets déverrouillés où les utilisateurs pourront modifier/insérer cellule/image-objet.
J'ai par ailleurs, créé deux boutons dans mon onglet 'Programmation' pour i) verrouiller toutes les feuilles et ii) pour les déverrouiller via un MDP Voici mon code ci-dessous
PHP:
Private Sub CommandButton45_Click()
mdp = InputBox("Entrer le mot de passe :", "Enlever protection")
If mdp = "" Then Exit Sub
If mdp <> "c135" Then
MsgBox "Mot de passe administrateur"
Else
For Each sh In Sheets
sh.Unprotect mdp
Next sh
Me.CommandButton45.Visible = False
Me.CommandButton46.Visible = True
End If
End Sub
Private Sub CommandButton46_Click()
For Each sh In Sheets
sh.Protect "c135"
Next sh
Me.CommandButton45.Visible = True
Me.CommandButton46.Visible = False
End Sub
Cependant, je souhaiterais pouvoir lorsque je click sur le bouton 'Protection' (CommandButton46) faire apparaître une boite de dialogue similaire à celle de Accueil>Format>Protéger la feuille, pour autoriser les utilisateurs de cette feuille à :
i) Sélectionner les cellules verrouillées
ii) Sélectionner les cellules déverrouillées
iii) Changer le format de cellule
iv) Modifier les objets
v) Modifier les scénarios
Voici le code ci-dessous que j'ai essayé mais qui ne marche pas du tout
PHP:
Private Sub Workbook_Open()
For Each sh In Sheets
sh.Protect "c135", DrawingObjects:=False, Contents:=False, Scenarios:=False
sh.EnableSelection = xlNoRestrictions
Next sh
Feuil1.CommandButton46.Visible = False
Feuil1.CommandButton45.Visible = True
End Sub
Je suis débutant en macro et je ne sais pas comment résoudre cette problématique...Etant l'administrateur du fichier, je souhaite pouvoir protéger d'un seul coup tous les onglets en autorisant les utilisateurs à faire ce que j'ai mentionné de i) à v) et enlever la protection via mon MDP.
Je vous remercie pour votre aide.
Voici le fichier en PJ
Lematou
Pièces jointes
Dernière édition: