Protection excel et groupement de cellules

Signaler
Messages postés
2
Date d'inscription
jeudi 18 janvier 2007
Statut
Membre
Dernière intervention
18 janvier 2007
-
Messages postés
3
Date d'inscription
mardi 21 juillet 2009
Statut
Membre
Dernière intervention
10 mai 2012
-
Bonjour à tous et toutes,

J'ai un "gros" problème sur une feuille excel...
J'ai des cellules à verrouiller sur une feuille, mais j'ai également des groupements de cellules que les utilisateurs doivent pouvoir ouvrir et fermer.

Lorsque je protège la feuille, les groupements ne peuvent être activés alors que c'est seulement visuel, ce n'est pas parce qu'on groupe ou dégroupe des cellules qu'on modifie le document !! Si vous avez la solution, aidez-moi s'il vous plaît. Merci d'avance.

P.S : si vous n'avez pas compris ma question, laissez moi votre mail, je vous enverrai un exemple. Merci.

Cordialement.

Bart.

8 réponses

Messages postés
144
Date d'inscription
lundi 13 octobre 2003
Statut
Membre
Dernière intervention
21 décembre 2014

ce que tu voudrais, c'est que l'utilisateur puisse fusionner/séparer des cellules même lorsque la feuille est protégée?
Je crois bien que c'est impossible...
Messages postés
2
Date d'inscription
jeudi 18 janvier 2007
Statut
Membre
Dernière intervention
18 janvier 2007

Merci pour ta réponse, mais ce n'est pas ce que je cherche.

je vais tenter d'être plus clair. dans excel, lorsque des données prennent beaucoup de place, il y a la possibilité d'établir un plan (en groupant des cellules) et il suffit après de cliquer sur "+" ou "-" en haut et à gauche des en-tête de ligne et colonne pour, soit cacher des cellules, soit en découvrir.

C'est un avantage car un tableau qui prendrait toute la feuille de calcul peut très bien être visible sur 5 colonnes et en fonction de ce que l'on veut utiliser, on laisse apparaitre certaine lignes ou colonne.

C'est là qu'est le problème. Lorsque je protège la feuille, on ne peut plus utiliser cette fonctionnalité. on ne peut plus se servir du "plan" et il est impossible de cacher ou laisser apparaître certaines lignes ou colonnes.

j'espère avoir été assez clair... Merci d'avance.
Messages postés
144
Date d'inscription
lundi 13 octobre 2003
Statut
Membre
Dernière intervention
21 décembre 2014

Ha oui, j'ai compris! "Grouper et créer un plan"... malheureusement, même si aucune cellule n'est verrouillée, la protection envoie le msg d'erreur pareil. La, il semble que c'est incontournable... En tout cas j'ai pas trouvé.
D'ailleurs c'est pas logique, on protège juste le contenu, et un plan ça n'affecte finalement que la visibilité des cellules par leur contenu. Bizarre que personne n'ait eu ce probleme jusqu'ici!
Messages postés
5
Date d'inscription
vendredi 4 novembre 2005
Statut
Membre
Dernière intervention
12 janvier 2009

Salut,
Moi j'avais le même pb.
J'ai trouvé cette soluce qui devrait fonctionner pour toi:
    ActiveSheet.EnableOutlining = True  'permet de garder la fonctionnalité PLANS
    ActiveSheet.Protect UserInterfaceOnly:=True, DrawingObjects:=False, Contents:=True, Scenarios:= _
        False, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
        AllowDeletingRows:=True, AllowFormattingRows:=True, AllowInsertingRows:=True, AllowSorting:=True, _
        AllowFiltering:=True, AllowUsingPivotTables:=True

Le but c'est de protéger ton document avec ce code à chaque fois que tu l'ouvres, et tu ne devrais plus avoir de pb.

Sabine DESEINT
<hr />www.sab-art.com
Messages postés
6
Date d'inscription
lundi 14 janvier 2008
Statut
Membre
Dernière intervention
16 janvier 2008

Salut,

Merci de ton info mais lorsque je fais VISUAL BASIC.

Procédure
clique sur la feuille / Visualiser le code

Je n'ai pas tout

ActiveSheet.EnableOutlining = True  'permet de garder la fonctionnalité PLANS
ActiveSheet.Protect UserInterfaceOnly:=True,
DrawingObjects:=False, Contents:=True, Scenarios:= _
        False,
AllowFormattingCells:=True, AllowFormattingColumns:=True, _
AllowDeletingRows:=True,
AllowFormattingRows:=True,
AllowInsertingRows:=True,
AllowSorting:=True, _
AllowFiltering:=True, AllowUsingPivotTables:=True

Ce qui est en rouge je n'avais pas l'option dans Visual Basic.  Peux-tu me dire comment on peut faire pour voir tous ces options.

Merci
Volcano
Messages postés
5
Date d'inscription
vendredi 4 novembre 2005
Statut
Membre
Dernière intervention
12 janvier 2009

Attention, en recopiant mon code, tu as sauté une ligne et donc oublié un underscore.
C'est juste une erreur de syntaxe:
ActiveSheet.EnableOutlining = True  'permet de garder la fonctionnalité PLANS
ActiveSheet.Protect UserInterfaceOnly:=True, _
DrawingObjects:=False, Contents:=True, Scenarios:=False, _
AllowFormattingCells:=True, AllowFormattingColumns:=True, _
AllowDeletingRows:=True, _
AllowFormattingRows:=True, _
AllowInsertingRows:=True, _
AllowSorting:=True, _
AllowFiltering:=True, AllowUsingPivotTables:=True

Toutes ces options sont définies dans l'aide Excel quand tu fais F1 sur le mot clé Protect

Sabine DESEINT
<hr />www.sab-art.com
Messages postés
12
Date d'inscription
dimanche 20 mars 2005
Statut
Membre
Dernière intervention
24 juin 2011

Hello deseint

Ton message date mais super ça j'ai résolu mon souci ;)
Messages postés
3
Date d'inscription
mardi 21 juillet 2009
Statut
Membre
Dernière intervention
10 mai 2012

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.