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

contrôle de formulaire masquer protéger

5 réponses
Avatar
lison-lisette
Bonjour, et au secours !

Je cherche à :

1/ masquer une zone de liste déroulante (contrôle de formulaire) lorsque je clique sur un bouton. Et l'afficher quand je clique sur un autre bouton

2/ protéger une feuille tout en gardant les fonctionnalités des listes déroulantes (contrôle de formulaire) CAD changer des tableaux et des graphiques en fonction de la donnée d'entrée --> moi ça m'affiche toujours "protégé ou en lecture seule"....

Je peux éventuellement vous envoyer le fichier excel avec le pb détaillé si vous me transmettez une adresse mail...

AU SECOURS !!!! ça fait des heures et des heures que j'essaye de faire ça, j'ai testé tout ce que j'étais capable de faire !!!!

5 réponses

Avatar
Alex
Bonjour,

Je n'ai pas compris le point 2 mais pour le pont 1, je te suggère la
solution suivante :

Sur ton formulaire, je mettrais deux boutons d'options afin de définir
le menu déroulant que tu veux voir apparaitre (1 bouton menu court, et
1 bouton menu long)
Dans ton Userform Activate, là ou tu configures ton menu déroulant, je
procèderai avec deux conditions
Si le bouton menu court est vrai alors activation du menu court
Si le bouton long est vrai alors activation du menu long
Cela t'oblige à avoir deux menus sur deux feuilles différentes mais
permet de résoudre ton problème.
J'espere que cela te permettra d'avancer.
Cordialement.
Alex
Avatar
lison-lisette
Alex a écrit le 22/06/2010 à 13h56 :
Bonjour,

Je n'ai pas compris le point 2 mais pour le pont 1, je te suggère la
solution suivante :

Sur ton formulaire, je mettrais deux boutons d'options afin de définir
le menu déroulant que tu veux voir apparaitre (1 bouton menu court, et
1 bouton menu long)
Dans ton Userform Activate, là ou tu configures ton menu
déroulant, je
procèderai avec deux conditions
Si le bouton menu court est vrai alors activation du menu court
Si le bouton long est vrai alors activation du menu long
Cela t'oblige à avoir deux menus sur deux feuilles différentes
mais
permet de résoudre ton problème.
J'espere que cela te permettra d'avancer.
Cordialement.
Alex


Merci Alex,
je crains de ne pas tout comprendre...

En fait j'ai des menus déroulants qui ne doivent s'afficher que quand je clique sur des cases d'options...

Case d'option 1 projet X
Case d'option 2 projets X
Case d'option 3 projets X ...ect

Avec la case d'option 1 projet, 1 menu déroulant apparait
Avec la case d'option 2 projets, 2 menus déroulants apparaissent (celui du projet 1 et celui du projet 2)... etc

(enfin en théorie, car j'ai tous mes menus déroulants sont prêts à fonctionner mais je n'arrive pas à les faire apparaître et disparaître à mon gré...)

En fait je me demande si ce n'est pas le fait d'utiliser des contrôles de formulaire mais sans l'intermédiaire de formulaires qui fait tout bugger...

Pour faire disparaître ces satanés listes déroulantes j'ai essayé :
'ActiveSheet.Shapes("Zonecombinée2_QuandChangement").Visible = False
'Workbooks("Zonecombinée2_QuandChangement").Visible = False
'Workbooks("Zonecombinée2").Visible = False
'Forms("Zonecombinée2_QuandChangement").Visible = False
'Sheets("Zonecombinée2_QuandChangement").Visible = False
'[Zonecombinée2_QuandChangement].Visible = False
'UserForm("Zonecombinée2_QuandChangement").Visible = False
'Me.Zonecombinée2_QuandChangement.Visible = False
'Zonecombinée2_QuandChangement.Visible = False
'Feuil1.Shapes("Zonecombinée2_QuandChangement").Visible = msoFalse
'Feuil1.Shapes("Zonecombinée2").Visible = msoFalse
'Feuil1.Shapes("Zonecombinée2_QuandChangement").Visible = False
'Feuil1.Shapes("Zonecombinée2").Visible = False

'If Disparaitre_bas = true
'Then Zonecombinée2.Visible = false

'If Disparaitre_bas.Value = 1 Then
'Feuil1.Shapes("Zonecombinée2").Visible = msoFalse
'ElseIf Target.Value = 2 Then Feuil1.Shapes("Zonecombinée2").Visible = msoCTrue
'End If


Je crois que je n'ai pas de Userform Activate... Car je n'ai pas de UserForm, mais juste des contrôles de formulaire....

Je ne sais pas si c'est plus clair là .... ! Help !
Avatar
Alex
Bonjour Lisette,

Ok j'avais pas compris que tu faisais un menu déroulant sur une
feuille, dans ce cas je procederai ainsi :
Je ferai une copie à l'identique de la feuille ou se trouve le menu
deroulant, seul le nom de la feuille changerait et sur l'une j'aurai
un menu court et sur l'autre un menu long. En fonction de la case
d'option coché cela afficherait la feuille correspondant et masquerait
la feuille opposée, ainsi tu aurais le menu qui correspond à ton
choix.

Pour ton point 2, as tu essaye d'oter la protection par
Activesheets.unprotect apres avoir selectionne la feuille ?

J'espere que ces suggetions pourront t'aider

Alex
Avatar
lison-lisette
Alex a écrit le 23/06/2010 à 08h00 :
Bonjour Lisette,

Ok j'avais pas compris que tu faisais un menu déroulant sur une
feuille, dans ce cas je procederai ainsi :
Je ferai une copie à l'identique de la feuille ou se trouve le menu
deroulant, seul le nom de la feuille changerait et sur l'une j'aurai
un menu court et sur l'autre un menu long. En fonction de la case
d'option coché cela afficherait la feuille correspondant et masquerait
la feuille opposée, ainsi tu aurais le menu qui correspond à ton
choix.

Pour ton point 2, as tu essaye d'oter la protection par
Activesheets.unprotect apres avoir selectionne la feuille ?

J'espere que ces suggetions pourront t'aider

Alex


Pour info le pb n°1 est résolu.

Le code est :
Worksheets("Nomdelafeuille").Shapes("Zone combinée 17").Visible = false

ATTENTION à :
- ne pas oublier les guillements
- écrire Zone combinée 17 et pas Zonecombinée17

Reste le pb n°2 !!! Comment protéger une feuille sans bloquer les fonctionnalités d'une zone de liste déroulante (contrôle de formulaire) !?


Merci des tes pistes de reflexion Alex !

Mais, concernant le point n°2, je ne souhaite pas enlever la protection de la feuille, je veux juste utiliser des zones de listes déroulantes (type contrôle de formulaires) sans que ça m'envoie le msg d'erreur :
"la cellule ou le graphique est protégé ou en lecture seule"...
Avatar
lison-lisette
lison-lisette a écrit le 22/06/2010 à 12h13 :
Bonjour, et au secours !

Je cherche à :

1/ masquer une zone de liste déroulante (contrôle de formulaire)
lorsque je clique sur un bouton. Et l'afficher quand je clique sur un autre
bouton

2/ protéger une feuille tout en gardant les fonctionnalités des
listes déroulantes (contrôle de formulaire) CAD changer des
tableaux et des graphiques en fonction de la donnée d'entrée
--> moi ça m'affiche toujours "protégé ou en
lecture seule"....

Je peux éventuellement vous envoyer le fichier excel avec le pb
détaillé si vous me transmettez une adresse mail...

AU SECOURS !!!! ça fait des heures et des heures que j'essaye de faire
ça, j'ai testé tout ce que j'étais capable de faire !!!!


Youpiii, pb n°2 résolu !

Pour info
La cellule liée des listes est la cellule A1.
Pour permettre la mise à jour de cette cellule lors des sélections dans les listes, il suffit de déverrouiller cette cellule avant de protéger la feuille. Les listes et le graphique continueront à fonctionner.
Erreur a ne pas commettre : Moi pour déverrouiller la cellule j'utilisais la fonction "permettre la modification des plages" au lieu du menu Police --> Protection --> Verrouiller

Après ça marche mieux

J'avais un autre problème, mais c'était dû à des barre du graphique qui apparaissaient ou disparaissaient (et ça, la protection de la feuille ça le bloque...)

Du coup j'ai contourné le pb en ajoutant un petit

ActiveSheet.Unprotect "mdp"
ActiveSheet.Protect "mdp"