Afficher ou non une validation de donnée sous condition

Bonsoir,

Il s'agit sûrement d'une astuce toute bête que je ne connais pas (ou bien de quelque chose d'impossible actuellement mais je préfèrerait la première option :D) :

Pour commencer, je souhaitais compacter un sheet déjà existant que j'ai créé il y a un moment mais qui prend beaucoup trop d'espace sur l'écran à mon goût. Ce dernier était composé de plusieurs tableaux dont la première colonne contenait plusieurs listes déroulantes identiques, la seconde renvoyait une valeur selon le contenu de la cellule adjacente. Le sheet était composé de 6 tableaux au total.

Partant de là, j'ai décidé de compacter ces 6 tableaux en un seul espace, ce qui a été fait grâce à des listes déroulantes en cascade. Une première cellule en haut de feuille et contenant une liste permet d'afficher en dessous un tableau mis en forme (encadrement, remplissage, titres des colonnes) selon le contenu de cette cellule contenant la première liste.

Mon problème étant que ces tableaux ne sont pas de même dimensions, l'un est de 7x2, un autre de 17x2 ou encore de 9x2 ce qui fait que mes secondes listes déroulantes (dépendantes de la première) s'affichent toutes j'ai donc 16 listes visibles même dans le cas d'un tableaux 7x2 ce qui est premièrement repoussant esthétiquement et ensuite peut se retrouver utilisé alors qu'elle n'est pas censé l'être (chaque liste devant afficher une valeur dans la colonne 2, qui donnera au final un total).

Ma question est la suivante : Peut-on (et si oui comment) procéder à l'activation de la validation de données, et donc l'affichage du menu déroulant si et seulement si une cellule contient un terme ou une mise en forme précise ?

L'option de la mise en forme me paraît la moins réalisable car j'imagine que la validation "a le dessus" sur la mise en forme mais bon elle serait l'option idéale

Je précise également que ce fichier est censé être mis à disposition de tous et que seules les cellules possédant un menu déroulant seront non protégées.

image

Bonjour et bienvenue

Je ne suis pas sûr d'avoir tout compris, tu aurais dû mettre un lien vers un fichier simplifié

Mais si tu veux gérer des listes de validations différentes selon un premier choix, alors mets dans une feuille le choix supérieur en ligne, et sous chaque valeur la liste des possibilités pour le second choix en découlant. Ensuite par un jeu de formules il est possible de constituer les choix secondaires. Un exemple

https://docs.google.com/spreadsheets/d/1IDifehV68cEGlI1pqpvNLEnReZRLnyiZf-4ipFl-E3s/edit?usp=sharing

Par contre, si ta question porte sur l'existence ou non de cette liste de validation selon une valeur, alors il faut passer par un script onEdit(event)

Pour l'instant j'ai déjà une première liste déroulante (menu category) conditionnant celles que l'on voit à l'intérieur et extérieur du tableau sur ma capture d'écran.

La mise en forme de mon tableau (dont le nombre de lignes qu'il possède) est également conditionnée par cette première liste cependant, le plus grand tableau que la première liste engrange fait 17 lignes je dois donc avoir 16 listes secondaires. Or j'aimerai lorsque le choix dans la première liste mène à un tableau en 9x2 comme dans la capture d'écran, pouvoir désactiver les listes secondaires superflues.

Je n'ai pas trouvé de solutions par moi même pour l'instant, j'ai bien pensé à éventuellement passer par des macros mais n'y connaissant pas grand chose à ce niveau, je ne sais pas comment je pourrai les faire s'activer selon le contenu de la cellule category.

Exemple :

  • Choix de l'option 1 dans la liste category > Met en forme le tableau 7x2 avec 6 nouvelles listes dans la colonne 1 liées au choix de la première liste
  • Choix de l'option 2 dans la liste category > met en forme le tableau 17x2 avec 16 listes dans la colonne 1 liées au choix de la première liste

(le soucis n'est pas de liers ces secondes listes au résultat de la première, il est surtout de pouvoir activer ou non la validation de donnée dans une cellule selon la réponse à la liste 1)

Si tu veux poursuivre la discussion et la recherche de solution, n'hésite pas à mettre un lien vers un fichier projet représentatif.

J'ai finalement trouvé une solution en passant directement par des scripts, en revanche, ce google sheets est destiné a être partagé avec d'autres utilisateurs ce qui fait que je protège bien entendu le tout.

Le script en l'état ne permet pas aux autres utilisateurs de l'utiliser à cause de la protection, est-il possible d'autoriser le script à passer au delà des protections ? Ou bien de l'autoriser à déprotéger des cellules le temps de l'exécution ?

Bonne soirée,

Rechercher des sujets similaires à "afficher validation donnee condition"