Récupérer la nomenclature automatiquement d'un produit

Bonjour à tous, je travaille sur Excel 2016 Office 365

J'ai pour mission d'automatiser un fichier Excel que certaines personnes doivent remplir manuellement ( je vous met en copie un exemple de fichier). J'ai réussi à automatiser la plupart des champs avec différentes formules mais il me manque une dernière chose à faire. Par soucis de volume de fichier j'ai supprimer un l'onglet utilisé pour la plupart de mes formules donc les #REF! c'est normal

Pour contextualiser l'opérateur va seulement rentrer les n°infoprod et les ref interne qui ne sont pas des composants. Tout le reste doit se remplir automatiquement par la suite.

Certaines références sont composées d'autres références et je dois donc faire appel au fichier nomenclature (onglet BOM). Dans le fichier par exemple l'opérateur est censé rentrer les cellules A11 et B11 à la main et les lignes 12 et 13 doivent se remplir automatiquement mais je ne vois pas quelle formule je pourrais en B12, B13.

Pour que vous compreniez mieux, dans le troisième onglet "BOM" en colonne D vous avez la référence finale et en colonne H les références composants (exemple D113 et D 114 ma première ref de mon tableau en onglet Annexe et H113 un composant et H114 un second composant).

Dans l'esprit j'étais parti sur afficher le nombre de composant en colonne C de mon onglet Annexe et à partir de la trouver une formule qui insère un nb de lignes en dessous de la ref principale = au nb de composant et trouver une formule pour remplir les cellules qui viennent d'être créées.

Je travaille ici en Excel version anglaise donc c'est pour ça que mes formules ont la syntaxe anglaise.

Si jamais vous avez des idées ou pensez à une autre solution n'hésitez pas à m'en faire part

Bonne journée.

Bonjour,

Les formules n'insèrent pas de lignes ni de formules... YAKE les macros pour faire ça :

Do you VBA ?

A+

Bonjour,

Ton profil indique Excel 2016.

1 - La fonction MIN.SI.ENS() est disponible pour les seules versions Excel 365 et 2019

2 - Pour quelle raison joindre un fichier xls (Excel 97-3003) ?

En conséquence :

1 - Enregistre ton fichier en xlsx (Excel 2007+)

2 - Supprime toutes les cellules fusionnées

3 - Mets tes données sous forme de tableaux (structuré)

4 - Supprime toutes les lignes vides des tableaux (inutiles dans un tableau).

5 - Mets clairement 1 ou 2 exemples de résultats attendus.

Puis envoie ce nouveau fichier, afin que le forum est une base saine pour travailler ta question.

Cdlt.

Nota : tu vérifieras que les références internes (Annexe) aient une équivalence dans réf (BOM).

Bonjour,

Je VBA pas trop malheureusement ( je me demande toujours comment je suis passé à côté avec une formation d'ingé).

Généralement j'enregistre mes macros et je les modifie très peu à la limite de ce que je maitrise.

Du coup je voudrais essayer autre chose en changeant le format de la nomenclature. J'ai essayé Power Query (pour la première fois ^^), j'aimerais avoir les réf finale en colonne A et après les composants les uns à la suite des autres en lignes. Sauf que j'ai un tableau qui me donne le nombre de composants pour chaque ref et non la liste.

Je vous mets l'exemple en copie.

Onglet 1 la nomenclature

Onglet 2 mon résultat (mauvais)

Onglet 3 ce que je souhaite avoir

Re,

Ton fichier en retour traité avec Power Query.

A te relire.

Cdlt.

Re,

Merci Jean-Eric. Peux-tu me donner un mode opératoire pour expliquer comment tu as réussi à obtenir stp ou c'set trop long ?

Merci encore.

Bien cordialement,

lucas28

Re,

Je te prépare une explication.

Cdlt.

D'accord merci beaucoup.

lucas

Bonjour,

Je te renvoie le fichier avec les explications pour la requête T_Fixe, plus simple à expliquer, car elle utilise uniquement l'interface graphique (GUI) de Power Query, soit les fonctions du ruban ou les fonctions des menus contextuels.

L'inconvénient de cette requête est qu'elle est statique donc à reproduire à chaque fois, car le nombre de colonnes peut varier !...

La requête T_Variable pallie à cet inconvénient, mais nécessite, d'intervenir manuellement et d'intégrer des fonctions particulières (langage M).

1 - Mettre les données sous forme de tableau structuré.

2 - Ruban, Données, Récupérer et transformer, A partir d'un tableau.

L'éditeur Power Query est ouvert et le tableau Excel est visible dans la fenêtre principale.

3 - Trier la colonne 1 ---> comme tu le ferais sous Excel

4 - Trier la colonne 2

5 - Sélectionner la colonne 2 : clic-droit Remplacer les valeurs ---> Remplacer les espaces par des _ (underscore).

6 - Ruban, Ajouter une colonne, Colonne d'index

7 - Sélectionner la colonne Index : Ruban, Transformer, N'importe quelle colonne, Pivoter la colonne (voir image snip_1).

8 - Sélectionner la colonne 2, CTRL + MAJ Puis Fin (ou End : Touche de navigation) et enfin sélectionner la dernière colonne (?).

9 - Ruban, Transformer, Colonne texte, Fusionner les colonnes (voir image snip_3)

10 - Sélectionner la colonne Composant

a) clic-droit : Transformer, Supprimer les espaces

b) clic-droit : Remplacer les valeurs ---> Espace par virgule

c) clic-droit : Remplacer les valeurs ---> _ (underscore) par un espace

d) clic-droit : Fractionner la colonne, par délimiteur (virgule)

11 - Accueil, Fermer et charger, Fermer et charger dans une table dans une nouvelle feuille.

snip 1 snip 3

Toutes les étapes peuvent être visualisées en cliquant sur les petites roues dentées dand l'éditeur :

snip 2

Bon, je te laisse digérer tout cela, car appréhender Power Query, n'est pas (très) difficile, mais demande tout de même quelques efforts.

A te relire.

Cdlt.

Bonjour,

Merci beaucoup Jean-Eric pour cette explication. Je vais apprendre tout ça et je pense que ça va m'aider à mieux comprendre Power Query.

Bien cordialement,

lucas28

Rechercher des sujets similaires à "recuperer nomenclature automatiquement produit"