Rechercher une plage de données dans un tableau complexe

Bonjour à tous,

Je viens vers vous car j'ai un tableau avec beaucoup de données et je voudrais pouvoir extraire des plages de données entières mais de manière conditionnelle et j'ai eu beau chercher je n'y arrive pas. J'ai tenté les listes déroulantes conditionnelles mais je n'y arrive pas car j'ai beaucoup d'espaces vu la configuration du tableau avec beaucoup de cellules fusionnées ; et j'ai bien pensé à la fonction recherchex mais je n'y arrive pas non plus.

Voici donc ce que je voudrais par rapport à mon fichier (joint)

Dans l'onglet BASE se trouvent mes données de base. Ce que je voudrais faire c'est pouvoir extraire des morceaux entiers de tableau. Dans mon fichier j'ai nommé extr1 extr2 extr3 les morceaux de tableau que je voudrais pouvoir extraire, en bloc (pour l'exemple, mais je voudrais pouvoir faire cela sur l'intégralité du fichier).
J'ai un peu de mal à expliquer par des mots mais je vais essayer : une fois sélectionné dans une liste déroulante les différentes données de la colonne A, je voudrais sélectionner une 2e liste déroulante qui présente les données de la colonne B (conditionné en fonction de ce qui est sélectionné dans la 1e liste) et apparaitrait ensuite tout ce qui se trouve dans les colonnes C et D. Mais comme j'ai des cellules fusionnées pour ce tableau, je ne parviens pas à faire les listes conditionnelles avec indirect.

J'ai repris toutes les données dans l'onglet TABLEAU sans aucune fusion de cellules pour avoir les données de manière plus organisée mais je me heurte aux TRES NOMBREUX doublons dans toutes les colonnes du coup.

J'ai donc créé les listes sans doublons dans l'onglet LISTES.

Mais voilà avec tout ça je n'y arrive pas... Mes essais sont dans l'onglet RECHERCHE.

J'espère que c'est assez clair, et que vous pourrez m'aider.

Merci d'avance !

Bonjour MCProf,

C'est assez compliqué à comprendre... Que cherches-tu à faire dans un premier temps ? Des listes déroulantes dépendantes ?

Si c'est le cas, je te conseille de mettre toutes les activités langagières en titres de colonne et de mettre les activités secondaires en lignes dans la colonne correspondante. Par exemple :

Compréhension orale généraleCompréhension EcriteCompréhension Audio-Visuelle
Compréhension générale de l'oralCompréhension générale de l'écritComprendre des annonces et instructions
Comprendre une conversation entre tierces personnesComprendre la correspondanceComprendre des émissions de radio et des enregistrements
Lire pour s'orienter
Lire pour s'informer et discuter
Lire des instructions
Lire comme activité de loisir

Pour les extractions de parties entières, il faudrait que tu précises où et sous quelles conditions le faire...

Cdlt,

*EDIT* ben j'ai été trop lent à écrire ^^

Salut,

si j'ai bien compris, il faut que tu crée un tableau pour chaque critère de ta première liste, par exemple:

Tableau avec en tête compréhension oral général et comme critère

Compréhension générale de l'oral
Comprendre une conversation entre tierces personnes
Comprendre en tant qu'auditeur
Comprendre des annonces et instruction

Après tu fait une liste déroulante en B2 avec ton nouveau tableau et un "=indirect() " dans la "source" de" validation de donnée".

Recherche liste déroulante ou en cascade sur google il y a des bons tuto

Bonjour Numéro 2,

Je verrais plutôt un tableau avec toutes les activités en en-têtes et les activités secondaires réparties dans les colonnes correspondantes. Ca permet d'optimiser la présentation et de rendre dynamique les sources de la liste mère et des listes secondaires (en utilisant les noms de colonnes et les en-têtes du tableau dans INDIRECT).

En fait, grâce au tableau structuré, on peut ensuite ajouter des colonnes ou des lignes facilement, sans créer de nouvelle liste. Il n'y a alors qu'un nom défini dans le gestionnaire de noms, celui du tableau.

Cdlt,

Bonjour 3GB

D'accord avec toi, j'ai pas pris le temps de regarder en détail le fichier et comme je ne suis pas sur des différentes listes que comprennent chaque en tête je suis partit sur une solution passe partout.

Prc si il y a activité principale en en-t^te puis 2 ou + de colonnes pour chaque activité il va se retrouver avec des espaces dans ses listes déroulantes

Oui, c'est vrai ! Mais on peut utiliser NBVAL ensuite dans la formule de validation pour ne conserver que les valeurs non vides de la source.

Merci de vos réponses !

J'ai bien fait un tableau comme vous le suggérez mais ça y est j'ai retrouvé en le faisant pourquoi ça ne fonctionnait pas : en fait mes entête de colonnes ne sont pas des mots simples. Or si j'ai bien compris lorsqu'il s'agit de faire des listes en cascade il faut que les noms des plages de données soient identiques aux noms des entêtes correspondantes. Du coup pas possible ici car la dénomination des entête ne peut être utilisée pour nommer des plages de données...

Par ailleurs ça n'est "que" la première étape. Ensuite je vous explique : pour chaque activité langagière secondaire, il y a 4 niveaux possibles (Pré-A1/A1/A2/B1) et pour chaque niveau il peut y avoir un ou plusieurs descripteurs. ce que je veux c'est que pour chaque activité langagière secondaire on me renvoie tous les niveaux possibles et tous les descripteurs présents pour tous les niveaux. J'espère que c'est plus clair ?

Sinon pour le reste de vos échanges je ne suis pas certaine d'avoir tout compris

Encore merci de votre aide !

Si c'est possible, c'est le nom du tableau qui ne peut pas contenir d'espace. Pour les en-têtes, ça ne pose pas de souci majeur.

Pour le second problème, les niveaux ne dépendent pas de l'activité secondaire donc ce n'est pas un problème. Ensuite pour les descripteurs, c'est à voir...

On peut toujours parvenir à une solution (par VBA notamment). Mais il faut que ça en vaille la peine et que ça n'apporte pas trop de complications. Car la première solution serait dynamique. Celle-ci le serait un peu moins j'ai l'impression...

Si c'est possible, c'est le nom du tableau qui ne peut pas contenir d'espace. Pour les en-têtes, ça ne pose pas de souci majeur.

Soit je me suis mal exprimée, soit il y a quelque chose que je n'ai pas compris. J'ai trouvé que pour créer des menus déroulants en cascade, il fallait nommer la plage de données qui correspond dans mon cas aux activités langagières secondaires avec le nom de l'en-tête de colonne (activité langagière). Or vu que mes entêtes comportent des espaces, ce n'est pas possible.

Pour le second problème, les niveaux ne dépendent pas de l'activité secondaire donc ce n'est pas un problème.

Techniquement si puisque pour certaines activités, il y a parfois un ou plusieurs niveaux qui n'existent pas (par exemple il n'y a pas de niveau Pré-A1 pour "comprendre une conversation avec des tierces personnes"). Après je ne sais pas si cela change quoi que ce soit...

Pas forcément, il est possible de créer un tableau structuré dont les en-têtes (pouvant contenir des espaces) serviront de source à la première liste, tandis que les valeurs (réparties dans les colonnes qui correspondent) alimenteront la liste secondaire. D'où mon exemple plus haut

Mais, je préférerais que ce soit toi qui crées le tableau (enfin qui dispose les informations comme tu l'attends).

Bonjour le forum,

@3GB Félicitation ► + 3000 Tu rentre dans la cours des grands

Amicalement.

Merci pour cette sympathique attention mdo100 !

J'ai créé un tableau comme ça, c'est ce que tu as en tête ?

2021 02 19

Exactement !

Si tu veux, tu peux reposter le fichier.

Bonjour,

J'ai trouvé une solution très simple à mettre en pratique sur le site de JBhttp://boisgontierjacques.free.fr/pages_site/listes_cascade.htm#CascadeXNiv

Il y a jsute à supprimer les cellules fusionnées et les retour de ligne ainsi que les lignes vides et ça marche tout seul...

Je vous donne mon fichier test : Tel quel il produit une erreur xml mais semble fonctionner correctement.

Ça serait surement plus cool en UserForm mais il devrait être facilement adaptable.

Tel quel il produit une erreur xml mais semble fonctionner correctement.

A éplucher.

Voici le fichier avec le tableau.

Merci !

Voici l'idée que j'avais :

Pour l'instant, tout est sur la même feuille mais on peut couper/coller les cellules sans que ça ne pose problème.

Je viens de me rendre compte que j'avais oublié mon adaptation. C'est pas grave il n'était pas top au niveau ergonomie.

La même que tout à l'heure en plus cool...

7cascadejb-vg2.xlsm (62.53 Ko)

A+

Merci @3GB cela fonctionne en effet. Mais peut-être est-ce la partie la plus simple. Ce qu'il me faudrait maintenant c'est que dans les cellules à côté on me renvoie les données des différents niveaux et de tous les descripteurs qui correspondent, qui eux se trouvent sur 1 à presque 10 cellules parfois. Faut-il que je fasse un nouveau tableau ?

@galopin01 Ce n'est pas exactement ce que je recherche car une fois le niveau 2 sélectionné je voudrais qu'apparaissent directement TOUTES les occurrences du niveau 3 et du niveau 4. CECI DIT, ça peut me servir quand même de pouvoir sélectionner aussi le niveau 3 donc je garde l'idée. Cependant dans tous les cas cela ne me sert pas de pouvoir sélectionner parmi le niveau 4. Serait-il donc possible d'avoir la même chose mais une fois le niveau 3 sélectionné, cela renvoie directement à toutes les possibilités du niveau 4 ? (en espérant que c'est clair )

En tout cas merci à vous deux, de ce que je vois je n'aurais jamais trouvé ça toute seule !!!

Je n'ai pas suivi avec la plus grande assiduité... Pourrais-tu montrer le résultat que tu attends ensuite (et indiquer la source à partir de laquelle tu obtiens ces résultats) ? Merci

Rechercher des sujets similaires à "rechercher plage donnees tableau complexe"