Cet article va vous montrer comment afficher les courbes d'un graphique depuis un menu déroulant

Données de base
Nous allons partir d'un tableau qui présente la quantité en stock de nos produits.

Présenter toutes les courbes des produits dans le même graphique n'a aucun intérêt. La multitude de courbes ne permet pas de trouver une tendance pour chacun des produits ⛔

Dans cette situation, il est préférable de construire un graphique où l'affichage des courbes est piloté depuis un menu déroulant pour n'afficher qu'une courbe à la fois.
Comment gérer une telle situation ?
Pour n'afficher qu'une seule série à la fois, nous n'avons pas d'autres choix que de construire un nouveau tableau qui va afficher seulement 2 colonnes :
- les dates
- une série dynamique qui s'affiche à partir d'un menu déroulant.

Pour construire cette colonne dynamique nous allons nous servir de la fonction INDEX.
Avec les versions de Microsoft 365 ou Excel Online qui gèrent les plages de données matricielles, la construction de la formule sera beaucoup plus simple.
Création du menu déroulant
La création d'un menu déroulant dans Excel est très facile à réaliser depuis le menu Données > Validation de données

Mais en allant un peu plus loin, on peut aussi créer un menu déroulant qui s'adapte automatiquement aux données.

Solution avec Microsoft 365
Avec Microsoft 365, nous allons construire la fonction INDEX avec l'utilisation de la fonction SEQUENCE
- Echantillon!$B$3:$G$15 (toutes les données mais sans les entêtes)
- La fonction SEQUENCE pour construire une série de nombre mais en mémoire
- La fonction EQUIV pour convertir la valeur du produit (en J2) en position dans le tableau
La fonction complète s'écrit donc
=INDEX(Echantillon!$B$3:$G$15;SEQUENCE(NBVAL(I3:I15));EQUIV($J$2;$B$2:$G$2;0))

Solution avec les autres versions d'Excel
Comme la fonction SEQUENCE ne peut pas fonctionner avec les autres versions d'Excel, il faut construire le deuxième paramètres d'une autre façon.
Nous allons récupérer la valeur de la ligne active grace à la fonction LIGNE(), soit la valeur 3 dans notre exemple, et puis on retranche 2 pour que nous trouvions la valeur (la première ligne du tableau à retourner).
=LIGNE()-2
Bien sûr, cette fonction doit être recopiée pour les autre cellules. Une fonction matricielle comme SEQUENCE se déploie automatiquement pour toutes les cellules de la plage.
=INDEX(Echantillon!$B$3:$G$15;LIGNE()-2;EQUIV($J$2;$B$2:$G$2;0))

Création d'un graphique
Tout le travail compliqué est terminé. Il suffit de créer un graphique en ligne à partir du tableau de 2 colonnes que nous venons de construire.


Et nous pouvons maintenant sélectionner librement n'importe laquelle des séries pour rendre le graphique plus visible.
