Affichage contenu tableau nommé via liste déroulante

Bonjour à tous,

Merci aux intervenants qui ont pris le temps de répondre à mes deux sujets précédents. Combinés à ce que je réussi à trouver comme informations sur ce site, j'ai réussi à progresser sur Excel et à réaliser des choses que je n'aurais jamais pensé être capable de faire, donc merci .

Je reviens avec une nouvelle problématique. J'ai bien cherché sur le forum pour quelque chose de similaire, il y a bien des solutions mais qui soit ne correspondent pas à mon besoin, soit impliquent des macros ou du développement VBA ce qui est totalement hors de ma portée.

Mon souhait actuel est le suivant.

J'ai dans mon fichier plusieurs tableaux nommés (correspondant à mes besoins) et qui sont répartis sous différentes feuilles de calcul.

J'aimerais réussir, si possible, à afficher dans une nouvelle feuille de calcul, le contenu intégral de 2 tableaux différents en fonction d'un choix dans deux listes déroulantes, choix devant refléter les noms des tableaux.

J'ai bien réussi à faire la liste déroulante avec les noms des tableaux (cellules B1 et F1 dans la feuille nommées "Results") cependant, je n'ai pas réussi à ce que ça m'affiche le contenu des dits tableaux.

J'ai bien vu les fonctions "DECALER" ou "INDEX" ou EQUIVALENT" mais seul, je n'ai pas réussi à faire ce que je souhaitais

Un petit fichier en pj:

56liste-tableaux.xlsx (14.25 Ko)

Merci à vous pour votre aide

Bonjour,

Si j'ai bien compris:

Dans la feuille "Results", sélectionnez à l'aide des liste déroulantes en B1 et F1, le tableau de votre choix et les données seront rapatriées par formules.

Cdlt

Bonjour

Ci joint ma solution

140liste-tableaux.xlsx (16.43 Ko)

A+ François

Merci à vous c'est exactement ce que je souhaitais réaliser.

@Arturo83, pourrais tu m'expliquer un peu plus en détail ta manière d'arriver au résultat?

@fanfan38: j'aime beaucoup ta présentation, mais je constate que les tableaux ne prennent pas en compte les premières lignes de valeurs. Comment pourrais-je remédier à cela?

Merci pour vos réponses

en C1, on récupère par formule le Nom de la feuille correspondant à la sélection en B1? =SI(B1="Table_1_Référence";"Data_1";"Data_2")

principe utilisé pour récupérer les données .

Cellule A, formule; =INDIRECT("'"&$C$1&"'!"&CAR(COLONNE()+65)&LIGNE()-1)

Suivant le choix de la liste déroulante, il faut pointer vers la bonne feuille, c'est en C1 que se trouve son nom. =INDIRECT("'"&$C$1&"'!" si C1 =Data_1, la fonction INDIRECT sera équivalente à "=Data_1!"

Il faut ensuite indiquer dans quelle colonne se trouve la valeur à rapatrier, pour le code, la colonne se trouve en B, c'est ceci: CAR(COLONNE()+65) qui va s"en charger.

COLONNE() donne le N° de la colonne où se trouve la formule (ici en colonne A de la feuille '"Results", soit la colonne 1)

Nous, on veut la colonne 2 de la feuille Data, mais il nous faut sa lettre et pas son n°. pour cela on convertir le N° en lettre avec la fonction CAR, la lettre A vaut 65 dans le code ASCII , le B =66 etc.. Donc CAR(COLONNE()+65) ---> CAR(1+65) = B, on pointe bien sur la colonne B.

Pour la ligne LIGNE(), donne le N° de ligne sur laquelle se trouve la formule, dans A3 la ligne c'est 3 or, les données de la feuille "Data" commencent à la ligne2, il suffit donc de soustraire 1 à la ligne en cours.

Donc la formule =INDIRECT("'"&$C$1&"'!"&CAR(COLONNE()+65)&LIGNE()-1) pourrait s'écrire: =Data_1!B2

Mais l'avantage, c'est quelle peut se recopier dans tous les sens sans rien changer.

pour le 2ème tableau c'est la même chose sauf que la colonne de référence est en E (5), il ,faut donc enlever 4 CAR(COLONNE()+65-4) --> CAR(COLONNE()+61)

J'espère que cela va vous aider .

Cdlt

Merci

Rechercher des sujets similaires à "affichage contenu tableau nomme via liste deroulante"