Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Protéger feuille tout en pouvant masquer / démasquer colonnes

3 réponses
Avatar
Jean-Luc
Bonjour,

Je souhaite diffuser une feuille de calcul dans laquelle seules quelques
cellules sont modifiables .
Pour éviter que les utilisateurs n'écrasent (par erreur) une formule par une
valeur numérique, je peux verrouiller les cellules et la protéger la feuille.
Problème : lorsque je le fais, je ne peux plus grouper* (masquer) /
dégrouper* (révéler) des colonnes

Est-il possible de pourvoir simultanément
- interdire la modification de certaines cellules
-permettre de grouper* (masquer) / dégrouper* (révéler) des colonnes ?

Par avance, merci pour votre aide.

Cordialement,

Jean-Luc

(*) Désolé pour les termes sans doute mauvais : mon Excel est en anglais il
s'agit de la fonction group / ungoup (colonnes que l'on peut masquer en
cliquant sur un peit "-" au desus ou révéler en cliquant sur un petit "+"

--
Jean-Luc

3 réponses

Avatar
michdenis
Bonjour Jean-Luc,

Pour protéger une feuille, tu peux utiliser ceci dans le ThisWorkbook
de ton classeur.

Cette procédure va te permette d'utiliser toutes les macros
sur la feuille, y compris "Masquer" ou "Démasquer" des
colonnes tout en rendant impossible ces actions manuellement
par les usagers.

'-----------------------------------
Private Sub Workbook_Open()

With Feuil1 ' Worksheeets("Feuil1")
.Unprotect ' "MotDePasse" si existant
'Tu peux répéter la ligne suivante pour inscrire
'toutes les plages que tu veux laisser accessible
'Entre les parenthèses, longueur maximum chaine de caractères : 255
'En supposant que tu as besoin de modifier cette propriété de la plage
.Range("A1,B1:C2,G25").Locked = False
.EnableSelection = xlUnlockedCells
.Protect "MotDePasse", True, True, True, True
End With

End Sub
'-----------------------------------



"Jean-Luc" a écrit dans le message de groupe de
discussion :
Bonjour,

Je souhaite diffuser une feuille de calcul dans laquelle seules quelques
cellules sont modifiables .
Pour éviter que les utilisateurs n'écrasent (par erreur) une formule par une
valeur numérique, je peux verrouiller les cellules et la protéger la feuille.
Problème : lorsque je le fais, je ne peux plus grouper* (masquer) /
dégrouper* (révéler) des colonnes

Est-il possible de pourvoir simultanément
- interdire la modification de certaines cellules
-permettre de grouper* (masquer) / dégrouper* (révéler) des colonnes ?

Par avance, merci pour votre aide.

Cordialement,

Jean-Luc

(*) Désolé pour les termes sans doute mauvais : mon Excel est en anglais il
s'agit de la fonction group / ungoup (colonnes que l'on peut masquer en
cliquant sur un peit "-" au desus ou révéler en cliquant sur un petit "+"

--
Jean-Luc
Avatar
FS
Bonjour,

Je ne comprends pas la même chose que Denis. Je pense que tu parles des
symboles du plan (en français dans le menu Données, commande Grouper et
créer un plan).
Tu peux continuer à utiliser ces commandes sur une feuille protégée avec
cette instruction :

ActiveSheet.EnableOutlining=True

(par exemple dans l'événement Activate de la feuille concernée).

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

Jean-Luc a écrit :
Bonjour,

Je souhaite diffuser une feuille de calcul dans laquelle seules quelques
cellules sont modifiables .
Pour éviter que les utilisateurs n'écrasent (par erreur) une formule par une
valeur numérique, je peux verrouiller les cellules et la protéger la feuille.
Problème : lorsque je le fais, je ne peux plus grouper* (masquer) /
dégrouper* (révéler) des colonnes

Est-il possible de pourvoir simultanément
- interdire la modification de certaines cellules
-permettre de grouper* (masquer) / dégrouper* (révéler) des colonnes ?

Par avance, merci pour votre aide.

Cordialement,

Jean-Luc

(*) Désolé pour les termes sans doute mauvais : mon Excel est en anglais il
s'agit de la fonction group / ungoup (colonnes que l'on peut masquer en
cliquant sur un peit "-" au desus ou révéler en cliquant sur un petit "+"



Avatar
michdenis
Bonjour Frédéric,

Si Jean-Luc fait référence au mode plan, et c'est bien possible,
il doit s'assurer que le mode "plan" est déjà présent sur sa
feuille avant de la protéger.... mais il aura besoin du même
type de procédure soumise mais tout en y insérant ta ligne de code.

'--------------------------------------------
Private Sub Workbook_Open()

With Feuil1 ' Worksheeets("Feuil1")
.Unprotect "MotDePasse" ' si existant
'Tu peux répéter la ligne suivante pour inscrire
'toutes les plages que tu veux laisser accessible
'Entre les parenthèses, longueur maximum chaine de caractères : 255
'En supposant que tu as besoin de modifier cette propriété de la plage
.Range("A1,B1:C2,G25").Locked = False
.EnableSelection = xlUnlockedCells
.EnableOutlining = True
.Protect "MotDePasse", True, True, True, True
End With

End Sub
'--------------------------------------------



"FS" a écrit dans le message de groupe de discussion :
#A#
Bonjour,

Je ne comprends pas la même chose que Denis. Je pense que tu parles des
symboles du plan (en français dans le menu Données, commande Grouper et
créer un plan).
Tu peux continuer à utiliser ces commandes sur une feuille protégée avec
cette instruction :

ActiveSheet.EnableOutlining=True

(par exemple dans l'événement Activate de la feuille concernée).

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

Jean-Luc a écrit :
Bonjour,

Je souhaite diffuser une feuille de calcul dans laquelle seules quelques
cellules sont modifiables .
Pour éviter que les utilisateurs n'écrasent (par erreur) une formule par une
valeur numérique, je peux verrouiller les cellules et la protéger la feuille.
Problème : lorsque je le fais, je ne peux plus grouper* (masquer) /
dégrouper* (révéler) des colonnes

Est-il possible de pourvoir simultanément
- interdire la modification de certaines cellules
-permettre de grouper* (masquer) / dégrouper* (révéler) des colonnes ?

Par avance, merci pour votre aide.

Cordialement,

Jean-Luc

(*) Désolé pour les termes sans doute mauvais : mon Excel est en anglais il
s'agit de la fonction group / ungoup (colonnes que l'on peut masquer en
cliquant sur un peit "-" au desus ou révéler en cliquant sur un petit "+"