Liste déroulante sous Excel : la méthode simple pour des options dynamiques

Liste déroulante sous Excel : la méthode simple pour des options dynamiques

Sommaire

Les listes déroulantes sont un moyen simple et efficace de réduire les erreurs de saisie et d’accélérer la saisie de données dans Excel. Que vous créiez un formulaire, un tableau de suivi ou un inventaire, la validation des données avec une liste est généralement la meilleure option. Ce guide présente la méthode rapide, des techniques pour rendre la liste dynamique et maintenable, ainsi que des solutions avancées pour les listes dépendantes et la sélection multiple.

Méthode rapide : Validation des données (liste simple)

La façon la plus directe consiste à utiliser Données → Validation des données. Sélectionnez la cellule ou la plage cible, ouvrez l’outil Validation des données et choisissez Autoriser = Liste. Dans Source, vous pouvez soit indiquer des valeurs séparées par des points-virgules (ex. Oui;Non;Peut-être), soit référencer une plage (ex. =Feuil1!$A$2:$A$10).

  1. Sélectionnez la cellule ou la plage où la liste doit apparaître.
  2. Onglet Données → Validation des données → Autoriser : Liste.
  3. Dans Source, entrez la plage ou les éléments séparés par ;.
  4. Décochez éventuellement « Ignorer les cellules vides » selon le besoin et personnalisez le message d’erreur si nécessaire.

Conseils pratiques

  • Évitez d’inclure des cellules vides dans la source ; elles affichent une entrée vide.
  • Vérifiez l’absence d’espaces superflus ou de caractères invisibles qui empêchent la correspondance.
  • Préférez une plage absolue (avec $) si vous copiez la validation vers d’autres cellules.

Rendre la liste dynamique : Tables et noms définis

Pour que la liste s’agrandisse automatiquement quand on ajoute des éléments, convertissez la plage source en Table (Ctrl+T). Les Tables adaptent automatiquement les références structurelles quand des lignes sont insérées ou supprimées.

Créez un nom défini : Formules → Gestionnaire de noms → Nouveau. Par exemple, créez ListeProduits qui référence Table1[Produit]. Puis, dans Validation des données, utilisez =ListeProduits comme Source. Cette méthode est robuste et fonctionne bien dans Excel Desktop et Excel Online.

Alternative avec INDEX (sans DECALER)

La formule DECALER est classique mais volatile ; une alternative plus fiable utilise INDEX pour définir une plage dynamique :

=Feuil1!$A$2:INDEX(Feuil1!$A:$A;NBVAL(Feuil1!$A:$A))

Lorsque la colonne contient des cellules vides intermédiaires, adaptez la logique de NBVAL ou utilisez une colonne auxiliaire pour marquer les éléments valides.

Listes dépendantes (cascade)

Les listes en cascade permettent de filtrer la seconde liste selon le choix fait dans la première. Méthodes courantes :

  • Utiliser INDIRECT avec des plages nommées : nommez chaque sous-liste (ex. ProduitsA, ProduitsB) puis dans la validation de la seconde colonne utilisez =INDIRECT(A2).
  • Utiliser des formules dynamiques ou Power Query pour créer des plages filtrées (version Excel moderne avec fonctions dynamiques).

Remarque : INDIRECT est pratique mais dépend du texte exact et ne fonctionne que si les noms correspondent exactement aux valeurs de la première liste.

Sélection multiple : VBA et alternatives sans macro

Excel ne propose pas nativement la multi-sélection dans une cellule. Deux approches :

VBA (macro)

Placez le code suivant dans la feuille concernée. Il concatène les choix successifs séparés par un point-virgule :

Private Sub Worksheet_Change(ByVal Target As Range) On Error GoTo ExitHandler If Target.Validation.Type = 3 Then Application.EnableEvents = False Dim oldVal As String, newVal As String newVal = Target.Value Application.Undo oldVal = Target.Value If oldVal = "" Then Target.Value = newVal Else Target.Value = oldVal & "; " & newVal End If End IfExitHandler: Application.EnableEvents = TrueEnd Sub

Inconvénient : macros désactivées sur Excel Online et peut poser des restrictions de sécurité.

Sans macro

Utilisez une colonne auxiliaire où chaque sélection est enregistrée sur une nouvelle ligne, puis concaténez avec TEXTJOIN dans une cellule récapitulative. Cette méthode est compatible avec Excel Online et évite les macros.

Dépannage et compatibilité

Problèmes fréquents :

  • Liste vide : vérifiez la source et l’absence d’espaces invisibles.
  • Valeurs non visibles : assurez-vous que la feuille source n’est pas masquée ou protégée de façon incompatible.
  • DECALER trop lent : remplacez par INDEX ou utilisez une Table pour de meilleures performances.

Compatibilité : la validation par liste fonctionne sur Excel Desktop et Online. Les macros ne fonctionnent pas sur Excel Online. Les Tables et les noms définis sont pris en charge dans les deux environnements, ce qui en fait la solution la plus portable.

Résumé et bonnes pratiques

Pour une solution simple et rapide, utilisez Validation des données avec une plage ou des valeurs. Pour une liste maintenable et dynamique, convertissez la source en Table et utilisez un nom défini. Pour des listes dépendantes, INDIRECT est pratique mais fragile ; privilégiez les références structurées ou des formules dynamiques modernes. Pour la sélection multiple, choisissez entre VBA (puissant mais non pris en charge en ligne) et une approche sans macro avec colonne auxiliaire et TEXTJOIN.

En appliquant ces principes vous augmentez la qualité des données, facilitez les mises à jour et réduisez les erreurs de saisie. Si vous voulez, je peux générer un petit fichier exemple (.xlsx) ou fournir les étapes exactes pour votre version d’Excel et votre cas d’usage (listes produits, lieux, codes, etc.).

Doutes et réponses

Quelle est la différence entre une liste et une liste déroulante ?

Une liste, c’est souvent visible d’un seul coup, des puces ou des lignes alignées, toutes exposées. Une liste déroulante, elle, cache la plupart des éléments dans un conteneur et affiche seulement l’option choisie jusqu’à ce que l’utilisateur clique sur la flèche vers le bas. Pratique quand l’espace manque, moins pratique quand il faut comparer rapidement plusieurs entrées. En UX, la différence tient à l’ergonomie et au contexte d’usage. Si vous devez scanner ou trier, préférez la liste visible. Pour garder l’interface propre ou limiter les choix apparents, la liste déroulante gagne. Petit conseil pratique, testez avec de vrais utilisateurs souvent.

Comment créer un menu déroulant dans Excel à partir d’une formule ?

Dans Excel, on peut rendre une liste dynamique avec une formule et la validation des données, pratique pour gérer des sources qui grandissent. Après avoir saisi vos données en colonne, sélectionnez la plage, ouvrez l’onglet Données et la boîte Validation des données, choisissez Liste dans Autoriser. Dans Source, tapez une formule comme =DECALER($A$5,0,0,NBVAL($A,$A)-1,1) pour que la plage suive les ajouts. Attention aux cellules vides et aux doublons, ça casse parfois la validation. Astuce, testez la formule dans la barre pour vérifier la portée, puis pensez à nommer la plage pour plus de clarté. Cela évite les erreurs en production.

Comment puis-je faire une liste déroulante pour la Validation des données dans Excel ?

Pour ajouter une liste déroulante via Validation des données dans Excel, commencez par cliquer la cellule destinée au choix. Allez dans l’onglet Données du ruban, puis ouvrez Validation des données. Dans Autoriser, sélectionnez Liste. En Source, vous pouvez écrire directement OUI;NON si le choix est binaire, ou indiquer une plage nommée pour une option évolutive. Validez, testez le comportement, vérifiez que le filtrage et le tri fonctionnent avec cette cellule. Petit conseil sécurité, protégez les autres cellules si nécessaire pour éviter des modifications accidentelles, et documentez la liste pour les collègues. Partagez un exemple, ça aide en contexte partagé.

Comment faire dans Excel une cellule avec le choix oui ou non ?

Plusieurs méthodes existent pour offrir un choix Oui ou Non dans Excel, selon le niveau de finition attendu. Le plus simple, une liste déroulante via Validation des données avec Source OUI;NON, rapide et propre. Si l’interface doit être plus visuelle, activez l’onglet Développeur et insérez une case à cocher liée à une cellule, pratique pour des tableaux interactifs. Pour des bases de données, en mode Création d’un formulaire, choisissez le type Oui/Non pour le champ, ça force la cohérence. Testez toujours l’export et les formules liées aux réponses, sinon surprises en analyse. Et documentez le choix, vos collègues vous remercieront.

Partager sur

Articles récents