Créer une liste dynamique à partir d'un tableau de données

Bonjour,

Après avoir lu plusieurs messages sur ce forum et n’arrivant à en adapter aucun à mon problème je me résous à créer un nouveau sujet.

Je souhaite créer une liste dynamique à partir d’un tableau de donnée.

Sur ce tableau, les titres des lignes sont des tâches, et les titres des colonnes sont des moyens dont on peut avoir besoin pour réaliser ces tâches.

Le contenu du tableau est un ensemble de 1 et de 0. Le 1 signifiant que pour une tâche donnée, on peut avoir recours au moyen signalé X lignes plus haut (en titre de la colonne), le 0 le contraire.

J’aimerai donc, à partir du titre d’une ligne (une tâche), extraire la liste des moyens possibles.

Il faudrait donc chercher dans le tableau la tâche, sonder toutes les colonnes du tableau correspondant à cette ligne, et extraire les titres des colonnes des cellules présentant un 1.

Je pense que ca doit être possible en VBA (et même peut etre en fonction excel simple) j’ai essayé de m’y mettre mais ne suis pas allé assez loin pour résoudre mon problème.

J’espère avoir été assez clair.

Merci d’avance !

Bonjour big_hulk,

Peux-tu joindre un bout de fichier qui illustre ta demande?

Bonjour vba-new,

Merci de ta réponse rapide

Voici un fichier simplifié sur ce que je veux faire (le vrai tableau est beaucoup plus gros mais je pense qu'il est plus simple de visualiser le petit tableau) : https://www.excel-pratique.com/~files/doc2/Extraction_liste.xls

Dans une autre feuille sera choisi le contenu d'une cellule de la colonne C. A partir de cette sélection, par exemple si je sélectionne "Mangrove / Extension", j'aimerais avoir une liste avec

"Outil A

Outil B

Outill D

...

Outil H"

J'avoue ne pas avoir été très réactif dans ma réponse et m'en excuse, mais étant à 9h de décalage horaire de la France, je ne m'attendais pas à une réponse nocturne de france !

En tout cas merci et j'espère qu'avec le fichier tu pourras mieux comprendre ce que je cherche à faire

Bonjour big_hulk, aucun problème!

Voici une solution de ce que j'ai compris : https://www.excel-pratique.com/~files/doc2/Extraction_liste_V1.xls

Si tu as des questions, n'hésite pas.

Moi j'en ai! Est-ce que le fichier reflète tes activités actuelles? Que fais-tu à 9h de la France?

C'est parfait, par contre je n'ai jamais utilisé la syntaxe colonne(), comment fonctionne t elle?

Sinon pour répondre à tes question, je suis en Nouvelle Calédonie, petit coin de France sous des latitudes assez agréables !

Ce fichier correspond aux activités de l'endroit ou je travaille ( mutualisation et traitement de données sur l'environnement) , mais pas directement les miennes n'ayant pas réellement de formation scientifique.

En fait j'ai une autre question.

La liste ainsi construite sert de référence à une option de validation de données d'une autre cellule.

Cependant ses trous sont assez génants et j'aimerais pouvoir trier les cellules, pour afficher que celle avec effectivement un choix à l'intérieur.

J'ai essayé en copiant avec liaison la liste puis de trier la liste copié mais ca ne fonctionne pas.

des suggestions?

Bonjour big_hulk,

Ça a l'air pas mal ce que tu fais!

Sinon, la fonction colonne() (sans argument dedans) permet de donner le numéro de

colonne où se trouve la fonction. Par exemple, si tu mets =colonne() dans la cellule G24,

elle te retournera 24 (n° de colonne). De même, si tu mets =colonne(G24) dans n'importe

quelle cellule, cela te retournera 24 également.

La liste ainsi construite sert de référence à une option de validation de données d'une autre cellule.

En fait c'est l'inverse

Cependant ses trous sont assez génants et j'aimerais pouvoir trier les cellules, pour afficher que celle avec effectivement un choix à l'intérieur.

Tu peux ajouter un filtre automatique et filtrer selon les éléments "Non vides".

Voir fichier suivant : https://www.excel-pratique.com/~files/doc2/Extraction_liste_V2.xls

Si questions alors reviens!

A+

28medi-cap-5.xlsm (160.93 Ko)

Bonjour vba-new,

Merci de ta réponse.

Je comprends cependnat pas très bien le "en fait c'est l'inverse"

Je m'explique :

Dans une feuille 1 j'ai un menu déroulant qui va me permettre de choisir une valeur, parmi les titres de lignes de mon tableau.

Après, et c'est pour ca que j'avais posté, je crée une liste dynamique en fonction de ce choix. Le contenu de cette liste est un nombre X de noms de colonnes, et un nombre Y de vides (quand les outils en noms de colonne ne me sont pas utile pour l'étude demandée).

J'utilise cette liste comme support de validation de données pour la feuille d'origine. Comme les feuilles sont différentes, je nomme ma liste, supposons listea.

Si je fais un tri non vide, ca affiche dans la feuille de traitement que les lignes non vides, mais dans la liste proposée en validation de données, les trous existent toujours :

fichier joint :

https://www.excel-pratique.com/~files/doc2/Copie_de_Extraction_liste_V2.xls

est ce possible d'avoir cette liste (en cellule E14), mais sans trou ?

Re,

Laisse tomber le "en fait c'est l'inverse"

Bon j'ai mis un peu de temps pour répondre parce que j'étais en train d'adapter des formules de Boisgontier pour des listes en cascade avec suppression de cellules vides!

Si tu veux faire des listes en cascades, vas voir ici : http://boisgontierj.free.fr/

Tout à gauche, clique sur Listes cascade.

Sinon, voici l'adaptation pour ton cas (pas facile!) : https://www.excel-pratique.com/~files/doc2/Extraction_liste_V3.xls

A+

Merci beaucoup.

Je regarderai ca en détail demain, la je pars du taff, il est temps !!

En tout cas la formule m'a pas l'air simple de prime abord !

Encore merci

Bonne journée

Ok ça marche.

En effet elle n'est même pas simple du tout!

Mais il suffit juste de jouer sur les noms, faire une recopie par-là, une validation par CTRL + MAJ + ENTRÉE par-ci, et le tour est joué!

J'ai mis un peu de temps à comprendre qu'il fallait faire le "CRTL + MAJ + ENTREE" avant d'étendre la forumle, mais maintenannt ca marche nickel ! Merci

J'ai une autre petite question, c'est peut etre très simple mais je patauge depuis pas mal de temps maintenant là :

Je veux connaitre le numéro de colonne d'une valeur dans un tableau.

Mais cette valeur est dynamique et il faut rechercher la valeur à partir d'une cellule, la trouver dans le tableau et donner son numéro de colonne.

Un petit exemple pour illustrer tout ca

https://www.excel-pratique.com/~files/doc2/recherche_colonne.xls

Merci d'avance !

En fait c'est bon j'ai réussi à contourner le problème en gardant la modification de mon modèle possible en passant par des listes externes

Bonjour big_hulk, forum,

Je veux connaitre le numéro de colonne d'une valeur dans un tableau.

Mais cette valeur est dynamique et il faut rechercher la valeur à partir d'une cellule, la trouver dans le tableau et donner son numéro de colonne.

Je sais pas du tout comment faire avec des formules. Par VBA, ça doit être faisable.

Quelqu'un aurait-il une idée de comment faire avec des formules (sans passage par des listes externes )?

J'avoue que si quelqu'un savait le faire directement ca serait plus efficace si je souhaite modifier mon fichier !

Rechercher des sujets similaires à "creer liste dynamique partir tableau donnees"