XL 2021 Classement Nomenclature - VBA

Raziel abel

XLDnaute Occasionnel
Supporter XLD
Bonjour,

Je souhaite à travers une extractions d'une liste de références de pouvoir s'il existe une solution via une macro d'arriver au résultat que je décris ci-dessous avec fichier Excel en PJ.

Cette liste est une extraction de composants et sous composants.
Nous avons en colonne A, la référence chapeau à l'intérieur de laquelle nous avons d'autres références (colonne E)

Exemple 1 : La réf 6707708401 est composé de 5 références et au niveau de l'écriture de classement des sous-composants nous avons l'ordre écrit sous la Forme B001 à B005 ( 5 sous composants) Les 5 références sont sous l'INDENTURE 1 (colonne D)

Exemple 2 : Notre référence chapeau contient 43 références mais se répète sur 47 lignes.
Cela s'explique dans notre exemple par le fait, que des Sous-composants que nous avons en colonne E puissent eux-mêmes avoir des sous composants.

- Nous pouvons repérer cela grâce à l'INDENTURE en colonne D, via le chiffre 2 (ligne 44 excel).
En colonne B, n'est plus répétée la référence Chapeau, mais le sous-composant (SON) qui se trouvait en colonne E et nous avons ensuite le sous-sous composants en colonne E.

En exemple : Ligne 43 , réf 332A31197302 en COL B, INDENTURE 2 (qui peut aller jusqu'à INDENTURE 7 pour une nomemclature B-C-D.....à H en colonneL) indique que cette réf est le composant de la réf chapeau en A, et que cette même référence contient elle même une référence qui est la 1173077. Le résultat que nous souhaiterions avoir en colonne L est B033-C001. On reprend le B033 que nous avions en ligne 40 et nous donnons la lettre C ( car nous descendons d'un niveau) avec une incrémentation si nécessaire comme dans l'exemple de la référence en ligne 45, colonne B.

Ci-joint le fichier Excel pour un visuel pour accompagner la lecture de que je viens d'écrire plus haut.

Cordialement,
 

Pièces jointes

  • SPARE_breakdown_spécifications_test macro.xlsm
    30.8 KB · Affichages: 20

Raziel abel

XLDnaute Occasionnel
Supporter XLD
Bon.. en reprenant la macro améliorée de l'autre fichier posté en MP (tu devrais le remettre ici aussi)

en supposant que l'extraction de TOUS les Root suivent la meme logique que celle du Root unique dans l'autre fichier
ca donne ceci

1) on extrait toutes les lignes d'un ROOT dans Tempo
2) on applique la macro (de l'autre fichier) améliorée
3) on colle le résultat dans la feuille "Finale"

et on boucle 1-2-3 sur tous les root
Bonjour vgendron, je reviens vers toi pour te remercier car Le résultat est incroyable. Bravo.
 

Raziel abel

XLDnaute Occasionnel
Supporter XLD
Bonjou les Excelistes, Vbiste & formulistes,

Après utilisation, un collègue a pu remarquer une erreur lors de l'incrémentation.
J'ai pris un exemple que je vous joint à la conversation.

En Feuil1, le résultat généré par la Macro dans le premier tableau.

Et dans le deuxième tableau à droite, la correction.

Exemple,
Dans le tableau 1 : par exemple, le SON 1691857 a une nomenclature B008-C003, alors qu'elle devrait normalement avoir une nomenclature B006-C001 car étant le fils de la réf 740710, la 740710 est B006.

Merci pour votre aide.

Bien cordialement,

Raziel
 

Pièces jointes

  • VBA_Project.xlsx
    9.6 KB · Affichages: 5

vgendron

XLDnaute Barbatruc
Bonjour

je viens de regarder
1) dans ton dernier fichier, tu n'as pas remis les macros.... comment veux tu que les gens comprennent?
2) le problème vient de l'indenture que je n'ai pas touchée..
==> je t'avais posé la question si l'indenture était fiable==> la réponse est donc non
et j'avais précisé
en supposant que l'extraction de TOUS les Root suivent la meme logique que celle du Root unique dans l'autre fichier

à savoir qu'il faut que toute l'arborescence soit listée dans l'ordre de chaque root
ou autrement dit: L'arborescence doit etre exportée Branche par Branche

et donc;. dans ton fichier posté en #17, la ligne 11 n'est pas à sa place.. elle devrait etre juste en dessous de la ligne 9

je repose donc la question: Comment est générée l'indenture?
 

Raziel abel

XLDnaute Occasionnel
Supporter XLD
Bonjour

je viens de regarder
1) dans ton dernier fichier, tu n'as pas remis les macros.... comment veux tu que les gens comprennent?
2) le problème vient de l'indenture que je n'ai pas touchée..
==> je t'avais posé la question si l'indenture était fiable==> la réponse est donc non
et j'avais précisé


à savoir qu'il faut que toute l'arborescence soit listée dans l'ordre de chaque root
ou autrement dit: L'arborescence doit etre exportée Branche par Branche

et donc;. dans ton fichier posté en #17, la ligne 11 n'est pas à sa place.. elle devrait etre juste en dessous de la ligne 9

je repose donc la question: Comment est générée l'indenture?
Bonjour,

effectivement, j'aurais du ajouter la Macro..

L'indenture est généré automatiquement suite à une extraction pour connaitre les sous-ensembles de l'ensemble supérieur.
 

Raziel abel

XLDnaute Occasionnel
Supporter XLD
nouveau test en PJ
Dans la première édition de la macro, Lorsqu'on changeait de ROOT, la macro recommençait à partir de B001 ce qui était déjà la première condition à remplir et ce n'est plus le cas dans le dernier Test que tu as réalisé.

Pour répondre à ton autre question, effectivement l'arborescence doit être exportée Branche par Branche, un peu comme la macro que je t'avais envoyé en MP mais qui ne permettait seulement de faire ROOT par ROOT.

Je vais essayer de prendre deux exemples et les dérouler en terme de résultats pour demain.

Merci encore pour ton aide.

Cordialement,
 

Discussions similaires

Réponses
12
Affichages
311

Statistiques des forums

Discussions
312 209
Messages
2 086 266
Membres
103 167
dernier inscrit
miriame