ElyxAI
validation

Comment Créer Dependent Validation des données Lists avec INDIRECT

Excel 2013Excel 2016Excel 2019Excel 365Excel Online

Apprenez à créer des listes déroulantes en cascade où les sélections d'une cellule remplissent automatiquement les options des cellules dépendantes. Cette technique utilise la fonction INDIRECT pour référencer des plages nommées dynamiquement, permettant des flux de saisie de données sophistiqués.

Pourquoi c'est important

Les listes de validation dépendantes réduisent les erreurs de saisie et appliquent les relations logiques entre catégories, essentielles pour la gestion des stocks et les structures de données hiérarchiques.

Prérequis

  • Familiarité avec la fonction Validation des données (Données > Validité)
  • Compréhension des plages nommées (Feuille > Plages nommées et définies)
  • Connaissance de base de la fonction INDIRECT

Instructions étape par étape

1

Créer la liste de catégories parentes

Entrez les noms de catégories (p. ex. Fruits, Légumes, Produits laitiers) en colonne A à partir de A2. Assurez-vous que chaque catégorie est unique et clairement nommée.

2

Créer des listes d'articles dépendants

Créez des colonnes séparées pour les articles de chaque catégorie (B2:B10 pour Fruits, C2:C10 pour Légumes, etc.). Chaque en-tête de colonne doit correspondre exactement au nom de la catégorie.

3

Définir des plages nommées pour chaque catégorie

Sélectionnez la plage d'articles pour Fruits (B2:B10), allez à Feuille > Plages nommées > Définir un nom, tapez 'Fruits', cliquez OK. Répétez pour chaque catégorie en utilisant les noms exacts.

4

Appliquer la validation des données à la cellule parente

Cliquez sur la cellule D2, allez à Données > Validité, définissez Liste sur A2:A5 (vos catégories), cliquez OK. Cela crée la sélection de liste déroulante principale.

5

Appliquer la validation INDIRECT à la cellule dépendante

Cliquez sur la cellule E2, allez à Données > Validité, sélectionnez Liste, entrez =INDIRECT(D2), cliquez OK. Maintenant E2 affiche les articles correspondant à la catégorie sélectionnée en D2.

Méthodes alternatives

Utiliser la fonction FILTER (Excel 365)

Dans Excel 365, remplacez INDIRECT par =FILTER() pour créer des listes dynamiques qui se mettent à jour automatiquement en fonction des critères.

Listes en cascade à plusieurs niveaux

Enchaînez plusieurs formules INDIRECT (p. ex. D2 sélectionne la catégorie, E2 utilise INDIRECT(D2)) pour les hiérarchies complexes.

Astuces et conseils

  • Nommez vos plages exactement comme elles apparaissent dans la liste parente—INDIRECT doit correspondre parfaitement.
  • Incluez des cellules vides dans vos plages nommées pour permettre aux utilisateurs d'effacer les sélections.
  • Testez avec des données d'exemple avant de déployer pour assurer que tous les appariements fonctionnent correctement.

Astuces avancées

  • Utilisez des références absolues ($D$2) dans les formules INDIRECT lors de la copie des règles de validation sur plusieurs lignes.
  • Ajoutez la gestion des erreurs avec IFERROR(INDIRECT(D2),'') pour éviter les erreurs #REF! si une catégorie est supprimée.
  • Combinez INDIRECT avec la mise en forme conditionnelle pour mettre en évidence les cellules dépendantes.

Résolution de problèmes

La liste dépendante affiche une erreur #REF!

Vérifiez que la cellule parente (D2) contient une valeur correspondant exactement à une plage nommée. Vérifiez que la plage nommée existe sous Feuille > Plages nommées. Si une catégorie a été renommée, mettez à jour le nom de la plage nommée.

La liste dépendante apparaît vide bien que les articles existent

Assurez-vous que vos plages nommées ne commencent pas par des lignes vides. Modifiez la plage nommée pour qu'elle commence à partir de la première cellule de données, pas l'en-tête.

La copie de la formule de validation sur plusieurs lignes provoque des erreurs

Utilisez des références absolues pour la cellule parente: =INDIRECT($D2) change en =INDIRECT($D3) quand elle est copiée vers le bas.

Formules Excel associées

Questions fréquentes

Puis-je utiliser INDIRECT avec des cellules dans d'autres feuilles?
Oui, utilisez la syntaxe =INDIRECT(SheetName!D2) pour référencer une cellule parente d'une autre feuille. Les plages nommées doivent être définies globalement, pas à l'échelle de la feuille.
Que se passe-t-il si un utilisateur sélectionne une catégorie, puis je supprime cette catégorie?
La cellule dépendante affichera une erreur #REF!. Prévenez cela en protégeant la liste de catégories ou en utilisant IFERROR(INDIRECT(D2),'Pas de correspondance').
Puis-je créer une cascade à 3 niveaux (Catégorie > Sous-catégorie > Article)?
Oui, enchaînez les formules INDIRECT: D2=Catégorie, E2=INDIRECT(D2) pour les sous-catégories, F2=INDIRECT(E2) pour les articles. Chaque niveau doit avoir des plages nommées correspondant aux sélections.

C'etait une tache. ElyxAI en gere des centaines.

S'inscrire