Excel liste déroulante dynamique en cascade

2
3380

Dans le gestionnaire de budget nous avons vue une méthode de comment créer une liste déroulante en cascade. Pour cela nous avons donc nommer nos champs et utiliser décaler pour afficher la liste du champ nommée. Dans ce cours nous allons voir une méthode un peu plus simple ou nous allons avoir une liste de fournisseur et leur article et nous pouvons ajouter facilement des fournisseurs supplémentaires sans devoir renommer le champ. 

Construction des bases de données.

Nous allons créer une simple base de données pour chaque fournisseur et leurs articles.

Création de la page de recherche

Puis nous allons créer une page qui va nous servir d’afficher les articles d’un fournisseur dans une liste.

Création de la liste fournisseur.

Viola il est temps de créer nos listes, nous allons commencer par afficher tous nos fournisseurs. Pour cela nous allons créer un nom que nous allons nommer fournisseur.

Dans ce nom nous allons placer la formule suivante qui va donc récupère les fournisseurs.

=DECALER(Fournisseur!$A$2;0;0;1;NBVAL(Fournisseur!$2:$2))

Pour sélectionner uniquement les noms des fournisseurs nous allons utiliser la fonction décaler puis dire qu’il faut commencer dans la cellule A2 puis définir la largeur à prendre au nombre de valeur non vide dans la ligne 2 de la page fournisseur.

Sur notre page de liste nous allons placer une liste avec notre validation des données et placer le nom Fournisseur comme paramètre de liste.

Dadaaaa nous avons une liste qui affiche uniquement nos fournisseurs.

Je sais se que vous allez dire. Mais Daniel si je prends un nom et que j’indique toute la ligne 2 comme paramètre on obtient le même résultat on a tous les fournisseurs aussi.

Oui c’est vrai mais vous aurez des entrées vide dans votre liste comme suite.

Création de liste d’article par fournisseur.

Aller on se lance dans la partie fun. C’est-à-dire la création de la liste d’article par fournisseur.

Pour commencer nous allons devoir dire au code d’aller sur la première cellule qui se trouve sur A2 pas oublier de le bloquer donc $A$2. Puis nous allons demander de descendre d’une ligne ce qui va nous placer sur le premier article, par contre on n’est pas encore sur le bon fournisseur.

=DECALER(Fournisseur!$A$2;1;

Pour trouver le bon fournisseur nous allons devoir dire au programme de rechercher le fournisseur et de donner sa position. Pour cela nous allons utiliser la fonction equiv.

=DECALER(Fournisseur!$A$2;1;EQUIV(App!$D$4;Fournisseur!$2:$2;0)-1

Désormais nous allons devoir définir la hauteur qu’il faut prendre, pour cela nous allons devoir utiliser la fonction nbval qui va donc faire en sorte de compter combien de cellule ne sont pas vide. Et bien sûr nous allons à nouveau devoir définir la position. Et ajouter disons max 100 articles

=DECALER(Fournisseur!$A$2;1;EQUIV(App!$D$4;Fournisseur!$2:$2;0)-1;NBVAL(DECALER(Fournisseur!$A$2;1;EQUIV(App!$D$4;Fournisseur!$2:$2;0)-1;100;1))

Nous allons terminer cette longue formule en indiquant que la largeur de notre sélection est de 1 ce qui nous donne la formule finale suivante.

=DECALER(Fournisseur!$A$2;1;EQUIV(App!$D$4;Fournisseur!$2:$2;0)-1;NBVAL(DECALER(Fournisseur!$A$2;1;EQUIV(App!$D$4;Fournisseur!$2:$2;0)-1;100;1));1)

Cette formule nous allons la placer dans un nom que nous allons utiliser dans une liste. Voila nous avons notre liste en cascade qui affiche une liste avec les articles par fournisseur dynamiquement.

J’espère que ce cours vous à plus faite le moi savoir dans les commentaires. D’ici-là je vous retrouve dans un prochain cours salut tout le monde zg=funct

2 Commentaires

  1. Bonsoir,

    Bravo et merci pour votre tuto qui correspond exactement à ce que je souhaite faire, mais malheureusement je me retrouve pratiquement dans la même situation que “Massoudi”
    La première liste s’affiche correctement et l’insertion ou la suppression d’une colonne fonctionne

    Par contre je n’ai rien qui s’affiche dans la liste secondaire.
    Pourrais-je vous envoyer mon fichier.
    Cordialement
    Albert

  2. Bonjour,

    votre tuto est bien expliqué. J’ai realisé un fichier à l’identique. Dans mon exemple, j’ai 7 entreprises et dans ses entreprises sont affectées des salariés. Je souhaite dans une feuille selectionner l’entreprise dans une colonne et choisir le salarié dans autre colonne .

    Pour selectionner l’entreprise c’est parfait. Par contre pour selectionner les salariés affectés à l’entreprise, je n’ai qu’un seul résultat c’est à dire le premier de la liste. Normalement je dois obtenir une liste de salariés correspondant à l’entreprise.

    Ai-je raté une étap dans ma formule?

    J’ai repris exactement votre formule.

LAISSER UN COMMENTAIRE

Please enter your comment!
Please enter your name here

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