Il y a 7 ans, j’ai réalisé une vidéo et un article sur la création de liste déroulante conditionnelle sur le tableur de Google. Je ne pensais pas qu’une petite astuce comme celle-ci aurait autant de succès et serait recherchée si souvent. En analysant les commentaires, la demande la plus régulière sous la vidéo ou l’article est comment créer des menus déroulants conditionnels sur plusieurs lignes sous Google Sheet. J’ai décidé aujourd’hui de vous proposer une solution simple et rapide. 

Créer un menu déroulant d’un ensemble de données sous Google Sheet 

Pour créer un menu déroulant sous Google Sheet d’un ensemble de données présent d’un tableau, cliquez seulement sur Données > Validations de données. Dans “Critères” sélectionnez  » Liste créée à partir d’une plage”, puis sélectionnez la plage en question. Par défaut, les doublons seront éliminés ce qui aura pour effet de créer un menu déroulant très lisible. 

Évidemment, il est possible de réaliser un menu déroulant avec des formules, des données saisies à la main, comme du texte, des dates… 

Créer des menus déroulants conditionnels sous Google Sheet

Si vous avez suivi mon premier tutoriel sur la création de menu déroulant conditionnel, vous connaissez donc la fonction Filter(). Cette fonction renvoie une version filtrée d’une plage source sélectionnée avec uniquement les lignes et colonnes qui répondent aux conditions spécifiées. Le se construire de cette manière : FILTER(plage; condition1; [condition2; …])

=FILTER(Stock!B2:B;Stock!C2:C=A5)

Dans notre exemple nous filtrons le contenu de la colonne B de l’onglet Stock, par rapport au contenu de la colonne C qui correspond à la valeur contenue dans la cellule A5

Très rapidement la fonction filtre affichera les données en fonction de condition sous forme de colonne. 

Pour finaliser notre menu conditionnel, il suffit ensuite de créer un second menu déroulant en passant par le menu Données > Validations de données. Dans “Critères” sélectionnez “Liste créée à partir d’une plage” et les données à sélectionner sont simplement la colonne de données que vous venez de créer. 

Cette solution permet de créer un ou plusieurs menus déroulant sur une ligne de votre tableau, car vous l’aurez remarqué, les données filtrées occupent de nombreuses lignes dans notre tableau. Cela rend donc impossible la création de menu conditionnel multiligne. 

Comment créer des menus déroulants conditionnels sous Google Sheet

L’idée est simple, il nous faut afficher les données filtrées non pas en colonne, mais en ligne. Ainsi, chaque ligne aura son propre filtre et son propre menu déroulant conditionnel. Sous Google Sheet, il existe une fonction qui permet justement de transposer une colonne en ligne. Cette fonction se nomme sobrement : TRANSPOSE()

L’utilisation de la fonction transpose est très simple, il suffit d’insérer le tableau ou la plage à transposer en condition. Dans notre exemple, nous allons ajouter à la fonction FILTER() la fonction TRANSPOSE()

=TRANSPOSE(FILTER(Stock!B2:B;Stock!C2:C=A5))

Enfin,  il nous suffit de créer un menu déroulant avec validations de données, non plus une colonne, mais une ligne. 

Reproduire une formule Google Sheet tant qu’il y a des données

Un tableau est conçu pour nous simplifier la vie au maximum. Alors nous pouvons avec la petite poignée présente dans l’angle bas droit de chaque cellule, étirer le contenu de la cellule vers le bas. Cependant, cela devient vite chronophage et contraignant si nous n’avons pas étiré assez de cellule, pire, en dupliquant une formule, nous alourdissons le tableau. 

Je vous propose donc d’ajouter à notre fonction, précédemment créée, la formule ARRAYFORMULA(). Cette fonction permet d’afficher des valeurs issues d’une formule de tableau sur plusieurs lignes et/ou colonnes. Dans notre cas, nous allons pouvoir dupliquer notre formule vers le bas sur autant de lignes que nous aurons de menu déroulant. Pour cela, ajoutez simplement arrayformula() avant notre formule. N’oubliez pas de fermer la parenthèse en fin de formule. 

=arrayformula(TRANSPOSE(FILTER(Stock!B2:B;Stock!C2:C=A5)))

Notre formule sera automatiquement dupliquée vers le bas. Cette solution est exceptionnelle lorsque nous avons plusieurs dizaines de lignes sur lesquelles nous devons appliquer une même formule. 

Google sheet recèle de nombreux avantages

Vous l’aurez compris avec seulement  trois fonctions distinctes, il est possible de Créer des menus déroulants conditionnels sur plusieurs lignes sous Google Sheet. Il existe très certainement d’autres méthodes, mais j’utilise celle-ci depuis plusieurs années avec un réel plaisir et une satisfaction non dissimulée. 

Si vous aimez jouer avec des tableaux de données, je peux aussi vous inviter à jeter un œil sur la fonction Query() hérité du langage MySQL. C’est très certainement l’une des fonctions la plus puissante de Google sheet. 

Est-ce que cet article vous a aidé dans la création de votre tableau ? Pensez à me faire vos retours dans les commentaires de cet article. 

Shares:

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.