Liste suivant un tableau (formule indirect)

Bonjour,

Je bloque concernant les listes dans les validations de données.

Je vous ai fait un fichier test qui ne correspond pas à mon fichier final (donc oui il est très grossier), c'est simplement pour vous montrer, mon fichier sera un peu plus complexe ^^.

Pour faire simple, j'ai créé un tableau avec des FAMILLES et des VARIABLES associées (en VERT sur le fichier).

Je souhaite utiliser ces FAMILLES pour appeler la VARIABLE correspondante dans une liste de données.

Lorsque je sélectionne une famille dans le cadre JAUNE, je souhaite obtenir la liste du tableau correspondant (à droite) avec les aliments contenus. (Non je ne ferai pas qu'un seul et grand tableau ^^ mon cas réel est particulier).

J'ai donc fait des essais de formules à intégrer dans mes validations de données (en orange) et bleu, mais n'arrive à rien.

J'arrive pourtant à récupérer le nom du tableau recherché dans la cellule violette, mais je n'arrive pas à l'exploiter dans la validation de données pour récupérer cette fouttue colonne ^^.

Si quelqu'un peut m'indiquer ce à côté de quoi je passe et me donner une indication, je lui en serai très reconnaissant ^^.

10test-liste.xlsx (14.29 Ko)

Merci d'avance.

Bonjour, une proposition plus simple sans passer par une variable, bien sur, tu peux rajouter un intermédiaire...

11test-liste.xlsx (13.13 Ko)

Bonjour,

C'est justement ce que je souhaite éviter.

Passer par un intermédiaire serait plus simple en effet, j'y avais songé.

Après je me dis que c'est peut-être tout simplement impossible de le faire dans une validation de données, d'où le fait d'exposer mon problème ici ^^

Je ferai cette méthode d'intermédiaire en dernier recours, mais si je peux éviter ça m'arrange fortement.

Merci pour ta réponse en tout cas.

Bonjour Beoden, merci pour ton retour, je te joins en PJ un fichier explicatif sur la validation de données et la fonction indirect. Bien à toi.

Bonjour Beoden, le fil

Si je comprends bien ta demande, il s'agit de gérer une "liste déroulante combinée"

Dans un 1er temps, j'ai horreur de la fonction INDIRECT

Dans un 2ème temps, il semble judicieux

  1. de simplifier la structure de tes listes de validation de données
  2. d'utiliser une simple liste de validation pour choisir une famille
  3. d'utiliser une liste de validation utilisant la fonction "DECALER" pour choisir les aliments

J'explique :

Point 1 - Simplifier les listes

capture beoden 20220505 1

Point 2 - Liste de validation "FAMILLE"

capture beoden 20220505 002

Point 3 - Liste de validation avec "DECALER"

capture beoden 20220505 003

Bonjour à vous,

JMBER, je vais essayer de creuser encore ce problème de mon côté. Il doit bien y avoir une solution à la fin ! ^^ Normalement on peut TOUT faire avec Excel !

GREEN SOFTS, merci pour ton retour. Je ne suis pas fan non plus de la fonction indirect, mais il me semblait que c'était la seule manière de réussir des liste via des tableaux et je m'interdis l'utilisation de listes par plages nommées car elles ne sont pas dynamiques, je préfère les tableaux car plus flexible pour l'ajout d'élément en aval de la création des listes via la validation de données.

Je suis d'accord, la structure des validations de données devient complexe, mais lorsque l'on a compris comment jongler avec les colonnes de tableaux, tout devient plus simple à l'usage par la suite ^^.

Je précise que je suis un presque débutant ^^ J'apprends tout sur le tas, j'ai commencé il y a 2 ans seulement et suis novice pour beaucoup de fonction d'Excel.

Et c'est pour ça que j'avoue ne pas avoir vraiment tout cerner sur l'exemple que tu m'as donné étant donné que j'utilise rarement la fonction décaler.

1 - Tu as une version d'Excel avec des colonnes numérotées et non avec des lettres ?

2- Dans ton 2nd point, ta colonne B2 est inscrite en dur ? J'ai un doute car tu utilises la formule =L2C8:L4C8 mais je ne comprends pas à quoi elle correspond exactement, Le L2 et L4 correspondent aux aliments, mais le C8 je ne sais pas, il n'y a rien en C8 ?

Pour ce qui est de la fonction décaler, je manipulerai pour voir cela, je ne la connais pas trop. A creuser .

Merci encore pour vos retours, ile me permettent de faire des essais et de découvrir de nouvelles opportunités ! ^^

Bonjour

Oui j'utilise Excel en notation L1C1 et non A1, les lettres des n° de colonnes sont numérotées et non lettrées ! Cela me parait plus simple et en particulier pour comprendre et utiliser certaines fonctions dont DECALER

Saches que la solution que je t'expose est "extensible" dans tous les sens :

  1. aucune limite pour les familles en ligne ou en colonne pour gérer les aliments
  2. aucune limite pour les aliments en ligne et en colonne

Je n'utilise pas de listes "nommées" comme tu le dis, mais des références à des cellules

Revenons d'abord sur la notation L1C1 et la fonction DECALER

  1. une référence en L1C1 désigne d'abord et toujours la ligne de la celulle puis ensuite sa colonne
  2. le "L" veut donc dire "ligne" et le "C" veut dire "colonne"
  3. L2C8 indique donc la cellule située en ligne 2 et colonne 8, et cela en valeur absolue et non relative
  4. pour utiliser une valeur relative le L et/ou le C sont notés entre parenthèses
    1. L(1)C est donc la cellule immédiatement en-dessous de la cellule en cours
    2. LC(3) est donc la cellule située à 3 colonnes de la cellule en cours
    3. L(-5)C3 est la cellule située 5 lignes au dessus de la colonne 3 (référence relative/absolue combinées)
    4. L2C8:L4C8 fait référence donc au groupe de cellules de manière absolu allant de la ligne 2 à la ligne 4 sur la seule colonne 8 (H en notation A1)

Revenons maintenant sur la formule DECALER de la 2ème liste de validation

  1. DECALER permet de décaler une cellule ou groupe de cellules
  2. les paramètres sont : cellule(s) de base - décalage vers le bas - décalage vers la droite - nombre de ligne(s) - nombre de colonne(s)
  3. les 2 derniers paramètres sont optionnels
  4. DECALER(L1C10:L5C10 ; 1 ; 0) désigne dans ma figure la liste des "légumes" sans l'entête (poireau, patate, chou et tomate)
  5. DECALER(L1C10:L5C10 ; 1 ; 1) désigne la liste des "fruits" toujours sans l'entête (cerise, pomme, poire et la ligne du dessous même si elle est vide)
  6. j'ai utilisé à la place du 3ème paramètre (décalage vers la droite) une fonction EQUIV pour permettre de décaler la liste de base en fonction de la valeur choisie en face de la FAMILLE

suite...

pour répondre à

Le L2 et L4 correspondent aux aliments, mais le C8 je ne sais pas, il n'y a rien en C8 ?

C'est tout à fait vrai !

J'ai pris arbitrairement le parti de ne prendre pour cellules de base dans les listes, que les 4 premières lignes...

Cependant pour rendre la liste entièrement dynamique et ne pas prendre en compte les cellules vides, cela est possible en utilisant les 2 derniers paramètres de la fonction DECALER

Rechercher des sujets similaires à "liste suivant tableau formule indirect"