Grouper/dissocier sur une feuille proteger

Résolu/Fermé
Tipunchie - 21 août 2008 à 12:10
 FRS - 12 nov. 2015 à 14:34
Bonjour,

J'utilise Excel XP.

J'ai une feuille excel avec environ 300 lignes. J'ai groupé les lignes par categorie pour rendre le fichier plus lisible ...
Jusque là, pas de soucis, les boutons +/- et 1/2/3/4 fonctionne à merveille.

Par contre, dès que je protege la feuille, impossible d'utiliser les boutons +/- et 1/2/3/4
Pourquoi je protege ma feuille ? Car, je l'envoi à une autre personne et je n'ai pas specialement envie qu'il me casse tout, par contre, j'aimerais qu'il profite egalement d'une lecture plus facile par le biais des boutons +/- et 1/2/3/4

Merci d'avance

Olivier
A voir également:

17 réponses

Bonjour


Pouvoir grouper et dissocier des lignes et des colonnes sur une feuille protégée dans Excel

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

EnableAutoFilter
UserInterfaceOnly
EnableOutlining

Merci
21
Nouseforaname
4 déc. 2009 à 15:13
Bonjour,

Je reviens un peu tardivement sur ce problème mais je faire à faire exactement cette manip mais sur toutes les feuilles de mon classeur.

Une idée pour m'aider ?
Merci
0
Super,

la formule, sa marche impeccable, la copier - coller dans the workbook et modifier en fonction du nom de l'onglet et hop impeccable, on peut proteger la feuille toute en laissant la possibilité d'ouvrir ou de fermer les groupes.

merci
0
Re salut,

Pour toutes les feuilles du classeur il te suffit de faire cela par exemple :

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

et voila autant de fois que de feuille

a+
0
Je vous remercie, ça marche. Cependant, il faudrait préciser dans ce post, pour les débutants, la façon dont procéder pour faire une macro à la rache (pour ceux qui ont le temps, je ne l'ai pas). Je dis ca parce que j'ai galéré!
0
une macro a la rache.... rache itique ou pas?.....
0
Pour faire simple:

1/ Rendre visible l'onglet "Développeur"
-> Aller dans "Fichier" -> "Options" -> "Personnaliser le ruban" puis cocher l'onglet "Développeur"
2/ Aller dans l'onglet "Développeur"
3/ Cliquer sur "Visual Basic"
4/ Double cliquer sur "ThisWorkbook" dans l'arbre à gauche
5/ Coller ce morceau de code:

Private Sub Workbook_Open()
Dim WS_Count As Integer
Dim I As Integer

WS_Count = ActiveWorkbook.Worksheets.Count
For I = 1 To WS_Count
With ActiveWorkbook.Worksheets(I)
.EnableAutoFilter = True
.EnableOutlining = True
.Protect Contents:=True, UserInterfaceOnly:=True
End With
Next I

End Sub

6/ Enregistrer (le format sera peut être différent car prise en charge des macros demandée)
15
LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 550
21 août 2008 à 23:17
Quand tu protèges la feuille, tu dois avoir plusieurs cases à cocher/décocher (Contenu,cellules etc)

Je n'ai pas XP pour l'instant, rappelle-moi quelles sont ces options et je te dirai laquelle décocher...
1
Bonjour,

je ne comprends pas, j'ai essayé tous vos codes et ça ne marche toujours pas!!
mon objectif est: protéger une feuille, en laissant certaines cellules libres (jusque là ok), et en laissant la possibilité d'ouvrir et fermer les +/- (plan) à l'utilisateur.

A priori, les codes que vous donnez sur cet échange correspondent bien à ma demande mais quand je le fais ça ne marche pas!

Bon vu que suis une quiche en VBA, je vais vous décrire ce que je fais:

je fais clique droit sur la feuille en question, je clique sur "visualiser le code", et là sur la fenêtre qui apparaît je mets:

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


j'enregistre mon doc excel, je ferme, je réouvre, et quand je clique sur les +, ça me dit que je ne peux pas vu que ma feuille est protégée!


Si quelqu'un pouvait m'éclairer, ce serait super!

Merci d'avance et vive les forums!
1
Raymond PENTIER Messages postés 58387 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 16 avril 2024 17 088
2 sept. 2010 à 16:27
... et si tu ajoutais

EnableAutoFilter
UserInterfaceOnly
EnableOutlining

?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Merci pour vos reponses ...

@ LatelyGeek : J'ai commencé par proteger la feuille en cochant toutes les options (securité minimum), on peut alors Ajouter des colonnes, masquer ou afficher des lignes, mais tout le module de plan/grouper/dissocier est indisponible ...

@ Raymond : Effectivement, cela ressemble un peu à ça, mais je n'ai meme pas la possibilitée de mettre un coup d'epaule :)
Pourquoi excel differencie tant le fait de pouvoir masquer/afficher de celui de grouper/dissocier :s

Bonne journée
0
LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 550
22 août 2008 à 10:11
Bon, dommage, c'était une piste...
0
Merci beaucoup, c'est nickel !!!
0
Raymond PENTIER Messages postés 58387 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 16 avril 2024 17 088
22 août 2008 à 15:25
Heureux pour toi qu'un Anonyme providentiel ait proposé une solution macro. Je n'y connais rien, en VBA, et je ne peux même pas tester l'efficacité et la facilité d'emploi de cette méthode. J'espère qu'elle sera transparente pour le destinataire de ton fichier. Salut.
0
En fait, avant de la tester, j'ai essayé de la comprendre (ça evite les mauvaises surprises ...)
D'un point de vue purement fonctionnelle, c'est pas mal, en fait, ça protege la feuille (meme si elle n'etait pas protégé) avec la possibilitée de toucher au plan ...
Par contre, cela impose de mettre le mot de passe en toute lettre dans la macro ... Ce qui est forcement une faille de securité, d'un autre coté, pour quiconque qui connait acyd, la securité d'un mot de passe excel, c'est bien pour les novices :)

Néanmois, je ne sais pas si ça a evolué sur les nouvelles versions d'excel, mais devoir passer par une macro pour réaliser ceci, ça m'etonne un peu :s

Merci à tous de m'avoir aider
0
où ça ? avant? aprés? ça n'y est pas déjà marqué?

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

désolée je n'y connais vraiment rien...
0
Raymond PENTIER Messages postés 58387 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 16 avril 2024 17 088
2 sept. 2010 à 16:57
0
héhé! et bien non ça ne marche toujours pas.

Il doit y avoir un truc tout bête mais pourtant j'ai l'impression de tout avoir essayé.

Merci quand même.

Si qqun d'autre a une idée...
0
Bonjour,

je suis novice dans vba et je souhaiterai pouvoir bénéficier de mes groupements tout en ayant des feuilles protégées.

je n'arrive pas à réaliser cette action, j'ai déjà une macro qui protège mes feuilles d'un seul coup, est-ce le problème?

voici ce que j'ai mis pour obtenir l'action de grouper/dissocier mais cela ne fonctionne pas et n'annonce un pb sur cette ligne (en gras).
"erreur 9"

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

le programme ne me demande jamais le mot de passe est-ce normal?
Que dois-je ajouter ou enlever?

merci beaucoup de votre aide
@ bientôt
0
Bonjour,

étant confronté au même problème je me penche sur le sujet.

Le morceau de programme évoqué dans les précédents messages fonctionne du moment que le fichier est ouvert.

Mais après fermeture et ré-ouverture du fichier, la protection reste mais les restrictions que nous cherchions à enlever sur le plier/déplier n'est pas conservé.

C'est pourquoi il faut le mettre dans une fonction qui fonctionne à l'ouverture du fichier excel (Private Sub Workbook_Open() ) et non pas dans un sub classic comme moi je le fais actuellement.

Mais comme les postes informatiques n'ont pas le niveau de sécurité faible chez nous, le lancement de cette macro à l'ouverture n'est pas possible.

Donc si quelqu'un à une solution de contournement pour que les restrictions perdurent à la prochaine ouverture du fichier je suis preneur.

Bonne journée à vous.
Cordialement.
0
bonsoir,

J'ai moi aussi le meme soucis,j'ai plusieurs feuille avec des colonne ou lignes groupées je les mets les une après les autres comme l'exemple un peu plus haut mais cela ne marche pas car il met les with worksheets ("nom feuille") en jaune.
pouvez vous me venir en aide pour trouver d'où vient l'erreur.

Je vous remercie par avance.

Cordialement
0
Bonsoir Grangcycy,

A la place de "nom feuille" as-tu écris le nom de ta feuille...exemple la feuille que tu veux verrouiller s'appelle "bidule" tu marques With Worksheets("bidule") .

Moi aussi j'ai une question a indiquer dans ce post, qui date quand même de 2008! Pour ma part la macro de verrouillage fonctionne très bien (je l'ai affecté à un bouton personnalisé dans ma barre d'outil). Je me demandais si je pouvais avoir une macro similaire qui me permettrai de déverrouiller en cliquant sur un bouton perso, à la place d'aller dans outils, protection...

Merci par avance et Grangcycy j'espère que ca marchera pour toi.
0
Créer une macro et écrire tout simplement dans le corps de la subroutine

ActiveSheet.Unprotect

et affecter un bouton à cette macro.
0
Raymond PENTIER Messages postés 58387 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 16 avril 2024 17 088
22 août 2008 à 05:54
"Comment ouvrir quand même une porte fermée à clef ?"

Voila exactement la question que tu poses !
Masquer des lignes pour cacher certaines informations est l'un des objectifs prioritaires de la protection de feuille.
Alors tu dois choisir, entre utiliser le Grouper-dissocier et Protéger la feuille ; c'est l'un OU l'autre.
-2
On ne te demande pas d'ouvrir une porte fermée à clef mais plutot de pouvoir regarder à travers une fenêtre fermée.

Si tu veux utiliser des images c'est cool et simpa mais choisi la bonne au moins.
0
Raymond PENTIER Messages postés 58387 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 16 avril 2024 17 088
8 déc. 2011 à 18:42
Si tu veux donner des leçons n'attend pas 3 ans pour le faire ! ça nous oblige à tout relire pour comprendre de quoi tu veux parler, et finalement ça ne présente plus aucun intérêt pour personne : tu aurais facilement pu garder ta remarque pour toi ...
0