Décomposition de liste de cout

VRIET

XLDnaute Nouveau
Bonjour à tous,

En colonne A j'ai une liste de références PARENT (100000 références)
En colonne B j'ai pour chaque référence PARENT une ou plusieurs références ENFANT.

De tel sorte que lorsque je filtre sur une référence PARENT en colonne A, j'obtient plusieurs lignes avec les différentes références ENFANT.

Ces références ENFANT peuvent à leur tour se retrouver dans la colonne A ce qui signifie qu'elles sont également PARENT. Ainsi de suite jusqu'à ce qu'une référence ENFANT n'est pas elle même d'enfants et ne se retrouve pas en colonne A.

J'aimerais pouvoir retrouver pour chaque parent, ses enfants de niveau 1 puis de niveau 2 puis de niveau 3 etc (Pouvant aller jusqu'au niveau 7)

Ci-joint, un fichier d'exemple Classeur 1 (Réactualisé pour être plus lisible)

J'avouerais que je sèche un petit peu, je retrouve facilement et j'automatise facilement le niveau 1 mais j'ai plus de mal pour les autres niveaux.

J'ai commencé à travailler sur une formule matricielle (cf classeur 2) : Je peux mettre en liste tous les PN enfants du PN PARENT que je saisie dans une case. Il me faudrait une "boucle" pour qu'a partir de ces PN enfant il retrouve les niveaux 2 etc...

J'espère vous lire vite et vous remercie d'avance.
 

Pièces jointes

  • Classeur1.xlsx
    11.5 KB · Affichages: 31
  • Classeur2.xlsx
    10.7 KB · Affichages: 27
Dernière édition:

gosselien

XLDnaute Barbatruc
Bonjour,
J'avoue que je n'y comprend rien, mais c'est souvent comme ça...
Quelle aurait été la suite ?
10119373 avec
1650815
1650816 ? (2e classeur)
(juste pour faire avancer le truc, mais pour d'autres lecteurs)

P.
ScreenShot092.jpg
 

VRIET

XLDnaute Nouveau
Bonjour,

Une conversation peut toujours m'aider à avancer !

Ce n'est pas très facile à expliquer à l'écrit. Je vais rééssayer :

Pour fabriquer le produit 10119374 il faut réunir tous ces produits :
10119373
10126054
358054
358108
358131
358138
358142
101125

Mais pour fabriquer un qui le compose par exemple le produit 10119373 il faut réunir ceux-ci :
1650815
1650816

Et peut être que pour fabriquer celui la 1650815, il me faut d'autre chose

Les enfants deviennent parfois parents.

Le problème c'est que ma base me donne que le premier niveaux
(Pour fabriquer le produit 10119374 il faut réunir tous ces produits :
10119373
10126054
358054
358108
358131
358138
358142
101125)

J'aimerais une formule, une macro qui va chercher pour fabriquer le 10119374 il me faut tout ça...

Prenons un exemple plus simple :
upload_2018-3-13_11-1-56.png


Ici, on voit que Marc à 4 enfants : Julie, Paul, Céline,Boris
Et que sa fille Julie à 2 enfants : Nicolas, Emma (Ils représente le niveau 2 de Marc) et Nicolas lui même a 2 enfants Romain et Aurélien qui sont le niveau 3 de Marc.

La logique est la même pour mes produits :)


@+
 

VRIET

XLDnaute Nouveau
Re,

Je préfererai ce problème moins intéressants mais un peu plus simple ! :p

Mes formules matricielles ne mennent à rien car trop complexe à mettre en place.

Cependant je reste persuadé qu'avec une macro bien placé je pourrais avancer. J'en appel aux passionnés !

J'ai téléversé un nouveau fichier :
  • L'onglet BOM c'est ma fameuse base : si l'on filtre sur une référence au hazard en colonne A, on voit une liste de PN-comp s'afficher (Colonne G)
  • En reprenant un a un ces PN-Comp et en les affichant en colonne A on voit une nouvelle liste de PN-comp s'afficher (Colonne G)
  • Etc jusqu'a ce que plus rien ne s'affiche.

N' existe t'il pas une solution pour venir afficher en une seule liste sur un autre onglet toute cette déclinaison ?

Filtre avancé ? Couplé a un enregistreur de macro ? Autre chose ?

Cordialement,
 

Pièces jointes

  • Utilitaires de décompositions des coûts.xlsx
    9.4 MB · Affichages: 17

VRIET

XLDnaute Nouveau
Pourquoi pas simplement :
  • En B2 de l'onglet Résultat : je saisies le PN parent pour lequel je veux voir la déclinaison
  • Par une macro, je copie colle cet onglet et fait un filtre sur cette référence en colonne A,Je sélectionne ce tableau et le colle dans résultat.
  • Puis un a un je reprend les PN comp je refais un filtre et je colle le résultat en dessous...

Sauf que j'e n'y arrive pas..

@+
 

gosselien

XLDnaute Barbatruc
Pourquoi pas simplement :
  • En B2 de l'onglet Résultat : je saisies le PN parent pour lequel je veux voir la déclinaison
  • Par une macro, je copie colle cet onglet et fait un filtre sur cette référence en colonne A,Je sélectionne ce tableau et le colle dans résultat.
  • Puis un a un je reprend les PN comp je refais un filtre et je colle le résultat en dessous...

Sauf que j'e n'y arrive pas..

@+
Je pense plutôt à du VBA, mais voyons l'avis des spécialistes :)
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 105
Messages
2 085 350
Membres
102 870
dernier inscrit
Armisa