Création d'une liste à partir d'une BD à 2 niveaux

Booggy

XLDnaute Nouveau
Bonjour à tous,

Je cherche à constituer une liste à partir d'une Base de Données dans Excel afin de pouvoir utiliser la fonction INDIRECT dans d'autres onglets.

Ma base de données est constituée de 2 colonnes (RefID1 & RefID2)
cf exemple ci-dessous
RefID1 / RefID2
TC-SHP-OP / 1 - Action 1
TC-SHP-OP / 2 - Action 2
TC-SHP-OP / 3 - Action 3
TC-MFG-MP / 1 - Action 11
TC-MFG-MP / 2 - Action 12
etc....

Je me suis laissé dire qu'il était possible à partir de VBA de créer des listes.
Je souhaiterais lister toutes les valeurs de RefID1 (sans doublon) dans une colonne et affecter un nom à cette plage.
Ensuite, pour chacun des noms de cette plage, lister les "actions" attachées à RefID1.
Ce qui donnerait à peu près ca comme résultat:
Liste de RefID1
TC-SHP-OP
TC-MFG-OP
avec dans une autre colonne:
TC-SHP-OP
1 - Action 1
2 - Action 2
3 - Action 3

TC-MFG-OP
1 - Action 11
2 - Action 12

Est-ce possible? J'imagine que oui, mais comment coder cela en VBA (je n'ai qu'une connaissance ultra limitée)

Merci d'avance pour votre support et vos conseils.
 

hoerwind

XLDnaute Barbatruc
Re : Création d'une liste à partir d'une BD à 2 niveaux

Bonjour,

Pas fort difficile mais un peu compliqué.

Vois la proposition sous la pièce jointe.
La préférence a été donnée à une colonne intermédiaire (A) avec des formules simples plutôt qu'à des formules matricielles plus complexes mais sans colonne intermédiaire.
 

Pièces jointes

  • TransposerTableau.xls
    18.5 KB · Affichages: 157

Booggy

XLDnaute Nouveau
Re : Création d'une liste à partir d'une BD à 2 niveaux

Merci bcp pour cette solution. C'est effectivement très intéressant comme méthode.
Mon seul point c'est que j'aurais souhaité pouvoir définir automatiquement un nom pour une plage donnée (équivalent de la fonction 'Définir un nom' dans Excel).
Cela serait très pratique car dans une autre feuille je pourrais alors créer une liste déroulante faisant appel au nom de la plage en faisant bêtement un =INDIRECT(SUBSTITUE(&macellule;"-";"_")) et le tour serait joué!
Une idée?
 

hoerwind

XLDnaute Barbatruc
Re : Création d'une liste à partir d'une BD à 2 niveaux

Bonjour,

Je ne comprends ce que tu souhaites réaliser.

Peux-tu donner un exemple concret, avec le résultat à obtenir, ainsi qu'un mot d'explication quant au pourquoi ?
Ce qui devrait permettre de te répondre quant au comment.
 

Discussions similaires

Statistiques des forums

Discussions
312 198
Messages
2 086 151
Membres
103 133
dernier inscrit
mtq