Comment créer une liste déroulante à deux niveaux sur Excel : La méthode simple et visuelle

Guide « 108 astuces pour grands débutants sur Excel ! » Offert
Booster votre productivité en téléchargeant gratuitement votre ebook PDF des meilleures astuces pour les débutants et les pros d'Excel
Excel formation - 00 Astuces - 100
 

Dans ce tutoriel, je vais vous montrer comment créer une validation de données à deux niveaux qui affiche visuellement toute la hiérarchie de vos données (catégories ET éléments) tout en permettant uniquement la sélection des éléments finaux.

Cette technique va transformer vos listes déroulantes classiques en outils professionnels et intuitifs, sans nécessiter de macros complexes ni de multiples étapes de sélection.

 

Téléchargement

Vous pouvez télécharger le fichier d'exemple de cet article en cliquant sur le lien suivant :

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
 

 

Tutoriel Vidéo

 

1. Présentation

 

Pour illustrer ce tutoriel, nous allons pouvoir utiliser le tableau suivant dans lequel nous gérons l'inventaire d'un supermarché.

Ce tableau contient plusieurs rayons du magasin, et pour chaque rayon, nous avons une liste des produits disponibles que nos équipes doivent pouvoir sélectionner rapidement et sans erreur.

Excel formation - 0080-Liste à plusieurs niveaux - 01

Dans ce tableau, les informations sont réparties sur deux colonnes où le rayon se répète pour chaque produit, est la base de notre système.

Le problème que nous rencontrons habituellement avec ce type de données est que les validations classiques nous obligent à créer deux listes déroulantes successives. L'utilisateur doit d'abord choisir le rayon, puis dans une seconde liste, choisir le produit.

Cette approche est fastidieuse et ralentit considérablement la saisie, surtout quand nous connaissons déjà le produit que nous cherchons.

Notre objectif est de créer une seule liste déroulante qui affiche tous les rayons et tous les produits dans une structure hiérarchique visuelle, mais qui n'accepte que la sélection des produits.

Ainsi, les utilisateurs voient immédiatement dans quel rayon se trouve chaque article, mais ils ne peuvent valider que le produit final, ce qui évite les erreurs de saisie tout en conservant le contexte visuel.​

 

2. Création du tableau croisé dynamique structuré

 

Nous commençons par sélectionner l'ensemble de notre tableau de données en cliquant sur n'importe quelle cellule du tableau.

Ensuite, nous allons le convertir en tableau de données, ce qui va nous simplifier la suite des opérations, et en plus va rendre notre liste dynamique.

Si nous ajoutons de nouveaux éléments par la suite, ces derniers seront bien repris.

Pour effectuer cette opération, nous appuyons sur les touches [Ctrl]+[L].

Excel affiche alors une boîte de dialogue pour que nous puissions contrôler la plage des cellules sélectionnées automatiquement. Nous vérifions également que l’option « Mon tableau comporte des en-têtes » est bien cochée, puis nous validons en appuyons sur « OK » :

Excel formation - 0080-Liste à plusieurs niveaux - 02

Ensuite, nous nous rendons dans le menu « Insertion » en haut de la fenêtre Excel, puis nous cliquons sur le bouton « Tableau croisé dynamique » situé dans le groupe Tableaux. Excel nous propose alors une boîte de dialogue nous demandant où nous souhaitons créer ce tableau croisé dynamique. Nous sélectionnons l'option « Nouvelle feuille de calcul » car cela nous permettra de travailler sur une zone propre sans risquer d'écraser nos données existantes.​

Nous cliquons sur « OK » et Excel crée instantanément une nouvelle feuille avec un tableau croisé dynamique vide sur la gauche et le volet des champs sur la droite. Ce volet est notre centre de contrôle pour construire la structure exacte dont nous avons besoin.​

Dans le volet des champs situé à droite, nous voyons apparaître nos deux champs : « Rayon » et « Produit ». Nous allons maintenant construire notre hiérarchie en faisant glisser ces champs :

  • Nous cliquons sur le champ « Rayon » et nous le faisons glisser vers la zone « Lignes » située en bas du volet.
  • Ensuite, nous cliquons sur le champ « Produit » et nous le faisons également glisser dans la zone « Lignes », mais cette fois en le plaçant SOUS le champ « Rayon », pour indiquer à Excel que les produits sont des sous-éléments des rayons. Nous voyons maintenant une structure arborescente avec des petits symboles « + » et « - » permettant de déplier ou replier chaque rayon.​

Excel formation - 0080-Liste à plusieurs niveaux - 03

Cependant, la disposition actuelle n'est pas celle que nous recherchons. Par défaut, Excel crée ce qu'on appelle une « disposition compacte » où tout est regroupé dans une seule colonne.

Excel formation - 0080-Liste à plusieurs niveaux - 04

Pour notre technique, nous avons besoin que chaque niveau de hiérarchie soit dans sa propre colonne distincte.

Dans l’onglet « Création de tableau croisé dynamique », nous cliquons sur « Disposition du rapport » dans le groupe Disposition et nous sélectionnons « Afficher sous forme de plan », ce qui permet d’obtenir une colonne pour les rayons et une colonne séparée pour les produits​

Excel formation - 0080-Liste à plusieurs niveaux - 05

Il nous reste plus qu’à cliquer sur « Totaux généraux » et sélectionner « Désactivé pour les lignes et les colonnes ». Ces totaux ne nous servent à rien dans notre contexte et pourraient perturber notre formule finale.

 

3. Construction de la formule de hiérarchisation visuelle

 

Maintenant que notre tableau croisé dynamique est prêt, nous allons créer la formule qui va fusionner intelligemment nos deux colonnes en créant une indentation visuelle pour les produits.

La logique de notre formule est la suivante : si la cellule de la colonne « Rayon » contient quelque chose, nous affichons simplement le nom du rayon tel quel. Si par contre la cellule de la colonne « Rayon » est vide, cela signifie que nous sommes sur une ligne de produit, et dans ce cas nous voulons afficher le produit avec une indentation visuelle en le faisant précéder de plusieurs espaces.

Nous saisissons donc la formule suivante dans la cellule D4 :

 =SI(A4<>"";A4;SI(B4<>"";"      "&B4;"")) 

Dans cette formule, le premier SI() teste si la cellule A4 (qui contient potentiellement un rayon) n'est pas vide grâce à la condition « A4<>"" ». Si cette condition est vraie, c'est-à-dire si A4 contient bien un rayon, alors la formule retourne simplement le contenu de A4, soit le nom du rayon sans modification.

Si par contre A4 est vide, nous passons à la deuxième partie de la formule : SI(B4<>"";" "&B4;"").

Cette deuxième fonction SI() vérifie si B4 (qui contient potentiellement un produit) n'est pas vide.

Si B4 contient effectivement un produit, la formule retourne cinq espaces suivis du symbole & qui permet de concaténer (coller ensemble) ces espaces avec le nom du produit.

Ces cinq espaces créent l'indentation visuelle qui donnera l'effet de hiérarchie dans notre liste déroulante finale.

Enfin, si ni A4 ni B4 ne contiennent de données, la formule retourne simplement une chaîne vide "", ce qui laisse la cellule vide.

Nous validons cette formule en appuyant sur [Entrée], et nous observons le résultat dans la cellule D4.

Selon que nous soyons sur une ligne de rayon ou de produit, nous voyons soit le nom du rayon, soit le nom du produit précédé de cinq espaces.

Maintenant, nous devons recopier cette formule vers le bas pour couvrir toutes nos données actuelles et anticiper les ajouts futurs. Nous cliquons sur la cellule D4 pour la sélectionner, puis nous positionnons notre souris sur le petit carré vert situé en bas à droite de la cellule (qu'on appelle la « poignée de recopie »).

Notre curseur se transforme en une petite croix noire. Nous cliquons et maintenons le bouton de la souris enfoncé, puis nous faisons glisser vers le bas jusqu'à la ligne 30, ce qui nous donne une marge pour de nouveaux produits dans notre tableau source.

Notre hiérarchie visuelle est parfaitement créée.

 

4. Configuration de la validation de données avec l'opérateur

 

Nous allons maintenant créer notre validation de données dans la cellule où nous voulons que nos utilisateurs puissent sélectionner un produit.

Nous cliquons sur cette cellule pour la sélectionner, puis nous nous rendons dans le menu « Données » et nous cliquons sur « Validation des données » dans le groupe Outils de données. Une boîte de dialogue s'ouvre avec plusieurs options de validation.​

Dans l'onglet « Options », nous cliquons sur le menu déroulant « Autoriser » et nous sélectionnons « Liste ». Ce choix indique à Excel que nous voulons créer une liste déroulante où l'utilisateur ne pourra choisir que parmi les valeurs que nous aurons définies.

Vient maintenant l'étape la plus importante : renseigner la source de notre liste.

Dans le champ « Source », nous allons sélectionner la plage des cellules contenant notre hiérarchie, en incluant la marge laissée vide:

Excel formation - 0080-Liste à plusieurs niveaux - 06

L'avantage énorme de cette approche est qu'elle est complètement dynamique.

Si demain nous ajoutons un nouveau produit dans notre tableau source, que nous actualisons le tableau croisé dynamique, la nouvelle référence sera automatiquement ajoutée dans la validation de données.

Nous validons en cliquant sur le bouton « OK ».

Notre cellule affiche maintenant une petite flèche à droite, signe qu'une liste déroulante est active.

La liste s'ouvre et nous y retrouvons tous nos rayons et produits avec l'indentation visuelle : « Boissons » aligné à gauche, puis en dessous avec un décalage « Coca-Cola », « Eau minérale », etc.

Nous pouvons sélectionner n'importe quel élément de la liste. Le système fonctionne !

Cependant, nous remarquons un problème : rien n'empêche l'utilisateur de sélectionner un rayon (par exemple « Boissons ») au lieu d'un produit.

Nous allons maintenant ajouter un contrôle visuel pour signaler cette erreur.

 

5. Ajout d'un contrôle visuel

 

Pour guider notre utilisateur et lui signaler s'il a correctement sélectionné un produit ou s'il a par erreur sélectionné un rayon, nous allons créer une formule de vérification accompagnée d'une mise en forme conditionnelle.

Nous nous positionnons dans la cellule juste à côté de notre validation.

Nous allons créer une formule qui vérifie si les cinq premiers caractères de la cellule F9 sont des espaces.

Si c'est le cas, cela signifie qu'un produit a été correctement sélectionné.

Sinon, c'est qu'un rayon a été sélectionné, ce qui n'est pas valide.

Nous saisissons la formule suivante :

 =SI(GAUCHE(F9;5)="    ";"V";"X Sélectionnez un produit")  

La fonction GAUCHE() extrait les cinq premiers caractères de F9. Nous les comparons avec cinq espaces (les mêmes que nous avions mis dans notre formule de hiérarchisation).

Si ces cinq caractères sont bien cinq espaces, nous affichons le symbole V pour valider la saisie. Sinon, nous affichons « X Sélectionnez un produit » pour alerter l'utilisateur.

Nous validons avec [Entrée] afin de tester le résultat.

Si nous sélectionnons un produit dans F9, G9 affiche V.

Si nous sélectionnons un rayon, G9 affiche notre message d'erreur.



Articles qui pourraient vous intéresser

Comment identifier la plus grande variation de performances dans Excel (en valeur absolue)
Comment transformer 10 minutes d'Export PDF en 5 secondes avec une MACRO puissante grâce à Excel
STOP aux listes déroulantes limitées ! Sélectionnez PLUSIEURS valeurs dans UNE SEULE cellule Excel
Comment transformer du texte brut en tableau structuré sur Excel avec Power Query
Comment compter et additionner par couleur de cellule sans VBA sur Excel
Comment évaluer et extraire des formules Excel avec des fonctions personnalisées ?
Astuce incroyable : Copier uniquement les cellules visibles dans Excel
Comment créez des graphiques Excel INTERACTIFS sans VBA avec les contrôles dynamiques ?
Comment utiliser des boutons pour sélectionner des données dans Excel (sans VBA)
Comment créer des graphiques Excel qui changent d'un simple clic et sans VBA (la technique que 99% des utilisateurs ignorent)
Comment appliquer un format sur plusieurs feuilles Excel en un clic
Comment créer des étiquettes de légendes dynamiques pour sublimer vos graphiques Excel

Contact - Plan du site - À propos - Contact

© Excelformation.fr 2018-2025 - Excel, simplement

Haut de la page

Excelformation.fr propose de nombreuses formations pratiques et gratuites sur Microsoft Excel : des cours pour apprendre à structurer et analyser les données, des tutos sur les fonctions avancées, les formules et les formules avancées d'Excel, les formules matricielles, les mise-en-formes conditionnelles, les graphiques Excel (xls, xlsx, xlsm,…). Des tutoriels pour apprendre à automatiser les tâches répétitives (via des macro-commandes en VBA) de vos classeurs Excel.