Microsoft 365 Validation à 2 niveaux dynamique

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Yves P

XLDnaute Nouveau
Bonjour,
Voici un problème que je rencontre sur la validation d'une cellule :
j'ai un tableau contenant plusieurs colonnes contenant des catégories d'aliments par exemple Fruits, Légumes, Boissons...et dans chaque colonne des aliments correspondant à chaque catégorie (par exemple pour la colonne Fruit : pomme, poire, etc...)
L'utilisateur va choisir un aliment en choisissant d'abord la catégorie dans une cellule puis l'aliment dans une liste déroulante correspondant à la catégorie choisie
Je souhaite que ces listes déroulantes soient dynamiques et qu'elles s'adaptent automatiquement au tableau d'aliments si on rajoute des colonnes ou des lignes.
J'ai donc :
1) défini la validation du choix de la catégorie avec Tableau[#En-têtes]
2) défini la validation de l'aliment par INDIRECT("Tableau["&(contenu de la cellule choix de catégorie)&"]")
Ces validations marchent bien et s'adaptent bien aux changements de mon tableau, mais la 2ème a le défaut de présenter dans la liste déroulante les cellules vides du tableau.
J'ai donc essayé de valider les aliments avec FILTRE(INDIRECT("Tableau... ...]");INDIRECT("Tableau... ...]")<>""). Cette formule fonctionne si je la mets dans une cellule, mais n'est pas acceptée par la validation. Quelqu'un peut-il m'aider à résoudre ce problème ?
Je travaille sous Excel 16.0 sous Office 365
Cordialement,
Yves
 

Pièces jointes

Bonjour

Question très récurrente. On appelle cela les listes en cascade.

Pour commencer on ne met pas cela dans un tableau comme tu l'as fait

  • Soit on crée 3 tableaux séparés mais c'est peu évolutif pour ajouter d'autre catégories
  • Soit on crée un tableau Base avec deux colonnes Catégorie, Elément (nom du fruit au autre), toujours classé par Catégorie puis élément, ce qui permet d'ajouter des catégories au fil de temps.
    Le liste unique des catégories fait l'objet d'un autre tableau.

Si la liste des catégories est longue on peut la générer depuis le tableau Base avec une requête PowerQuery (intégré à Excel)
 

Pièces jointes

Bonjour

Question très récurrente. On appelle cela les listes en cascade.

Pour commencer on ne met pas cela dans un tableau comme tu l'as fait

  • Soit on crée 3 tableaux séparés mais c'est peu évolutif pour ajouter d'autre catégories
  • Soit on crée un tableau Base avec deux colonnes Catégorie, Elément (nom du fruit au autre), toujours classé par Catégorie puis élément, ce qui permet d'ajouter des catégories au fil de temps.
    Le liste unique des catégories fait l'objet d'un autre tableau.

Si la liste des catégories est longue on peut la générer depuis le tableau Base avec une requête PowerQuery (intégré à Excel)
Bonjour Chris.
La deuxième solution avec le tableau Base est la bonne pour mon besoin.
Pour simplifier la vie de l'utilisateur, je reconstitue le tableau Base à l'aide de formule (combinaison de ASSEMB.H, DANSCOL, et TRIER)
Ce n'est pas très élégant ni lisible, mais ça répond parfaitement à mon besoin et à celui des utilisateurs qui pourront ajouter des ligne et des colonnes à volonté dans le tableau initial sans qu'il n'y ait rien à changer.

Merci pour tes conseils qui m'ont mis sur la voie.
 

Pièces jointes

J'ai retrouvé un vieux truc VBA que j'ai intégré vite fait dans ton fichier à titre d'essai.
Il y a un module standard Module_ComboBoxValidation et un peu de code pour valoriser les listes des ComboBoxes. Je devrais pouvoir en faire une classe.

Après en VBA on peut faire beaucoup plus simple avec les listes de validation.
Je vais essayer demain. Perso je préfère un peu de VBA que plein de noms et listes dans le classeur.

Edit: Ça vient avec un vieux bug Excel qui décale en hauteur les items avec des caractères accentués dans les ComboBox Active X.
Edit: Non, en fait c'est la police Aptos Narrow qui fait ça. Calibri n'a pas ce problème.
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
781
Retour