Protection + grouper des cellules dans Excel

Résolu/Fermé
ben - 2 oct. 2008 à 10:54
 doosoon - 3 oct. 2013 à 12:12
Bonjour,

j'ai utilisé la fonction "grouper et créer un plan" dans Excel, afin de grouper des cellules. Lorsque j'active la protection de la feuille, je n'ai plus la possibilité de masquer et afficher les détails. Est il possible d'accéder à ces commandes lorsque la feuille est protégée ?

Merci pour vos conseils
A voir également:

2 réponses

Salut,

Tu vas dans Outils - Macros - Visual basic editor et tu copies ceci dans ThisWorkbook :

Private Sub Workbook_Open()
With Worksheets("feuil1")
.EnableAutoFilter = True
.EnableOutlining = True
.Protect Contents:=True, Password:="Toto", UserInterfaceOnly:=True
End With
End Sub

Tu modifies évidemment ton mot de passe et le nom de la feuille. Avec cette formule, ta feuille sera protégée dès l'ouverture du fichier.
Tu enregistres, tu fermes et tu réouvres.
Et voilà.

A +.
0
Bonjour Loups et tous les autres,

Je n'y connais rien en VB, alors désolé si la réponse à ma question est toute simple. Comment peut-on modifier ce code pour qu'il foncitonne avec toutes les feuilles de mon classeur qui ont le même mot de passe.

Merci par avance pour ta réponse ou vos réponses.

Bien cordialement,
Franek
0
Bonjour,

J'ai exactement le même pb que Franek ... et de la même manière ignare en VB.
J'ai su faire un copier coller du code ci dessus qui marche trés bien ...
Les utilisateurs du fichier dupliquent les feuilles existantes du fichier et les renomment => du coup, la macro ne fonctionne plus et ne peuvent plus utiliser les boutons de deroulement.
J'ai donc multiple onglets avec le même mot de passe et des boutons de groupement inutilisables.
Merci de votre aide sur le sujet
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 209
28 juin 2013 à 23:10
Bonsoir,

pour toutes les feuilles du classeur :
Private Sub Workbook_Open()
    Dim sh As Worksheet
    For Each sh In Worksheets
        'if left(sh.name,2)="Pr" then
        sh.EnableAutoFilter = True
        sh.EnableOutlining = True
        sh.Protect Contents:=True, Password:="Toto", UserInterfaceOnly:=True
        'end if
    End With
End Sub

Si tu veux que ce ne soit que les feuilles dont le nom commence par "Pr" (par exemple) activer les 2 lignes If et End If en supprimant l'apostrophe devant.

eric
0
Eriiic,

Merci, ça fonctionne parfaitement ... il a juste fallu changé le "end with" par "next", sinon cela se mettait en erreur.
Merci beaucoup.
0
Bonjour,

Je rencontre un petit problème additionnel: des utilisateurs viennent copier des feuilles dans ce fichier central contenant les macros évoquées plus haut. Ces feuilles sont collées dans un nouveau classeur.
En faisant cette opération, je perds la macro. Et donc les utilisateurs ne peuvent plus utiliser les boutons de groupement / dégroupement du fait de la protection liée au mot de passe.
Comment puis-je conserver la macro dans les feuilles copiées dans le nouveau classeur ?
Merci d'avance pour votre aide
0
Bonjour,
J'essaye de faire la même chose, mais impossible
J'ai rentré le macro (surement mal, c'est la 1ère fois que je fais ça)
J'enregistre, ferme et ré-ouvre, et là, rien...

Vous utilisez excel 2007??

Si quelqu'un peu m'aider...
Je lui envoie mon fichier excel
0