Macro : calcul besoins prévisionnels en matières premières

Bonjour,

Je suis actuellement en stage au sein d'une entreprise, et j'ai donc pour mission depuis quelques semaines déjà, d'améliorer un outil de supply chain. Cet outil (via excel) permet de calculer les besoins prévisionnels en matières premières en fonction des consommations de stock.

Pour cela j'ai 4 sources de données à mettre en lien :

  • la nomenclature des produits finis (sorties de stock)
  • les commandes de matières premières (entrées de stock)
  • les stocks disponibles (stock à date)
  • le planning des lignes de production (L1, L2, L3, L5, L6, L7, L8, L9).

J'ai donc opté pour la solution de la formule INDIRECT, cependant je me suis retrouvé bloqué par la complexité du fichier.

Je me tourne donc vers vous dans l'espoir d'avoir une autre approche afin de mettre en lien les 4 sources de données.

L'objectif final étant d'afficher :

  • le niveau de stock initial par matière première (à partir de l'extraction lancée le jour du calcul du besoin)
  • afficher jour par jour les sorties de stock, c'est-à-dire les consommations de matières premières en fonction des commandes (OF)
  • afficher les entrées de stock, s'il y a une livraison prévue au jour
  • afficher le niveau de stock = stock - les sorties de stocks + les entrées de stocks

- Afficher les numéros d'OF pour chaque jour consommé.

J'ai essayé d'expliquer au mieux sur le fichier excel en pièces-jointes les données et la méthode de calcul.

N'hésitez pas à me poser des questions si vous avez des interrogations ou des incompréhensions.

Je vous remercie d'ores et déjà pour le temps que vous passerez à lire mon post et votre aide.

Cordialement.

Bonjour et sur le forum

J'ai commencé à me pencher sur ta problématique mais il y a des choses que je ne comprends pas... Pour les sorties de stock, cet onglet c'est les nomenclatures dont tu parlais? c'est la partie "fixe" de ton fichier? parce que j'aurais besoin de mettre des infos en plus sur cet onglet... Tu sais via les onglets L1 à L9 le nombre de produits finis que tu vas faire, et tu sais la quantité de "matière première" que tu vas utiliser pour un produit finis, il faudrait donc ajouter une colonne nbréalisés pour savoir combien de produits finis vont être faits. En fait de ce que je suis entrain de voir, il manque un moyen de synthétiser tes onglets L1 à L9 par date, puis de voir grâce aux nomenclatures le nombre de produits qui vont être consommés à telles et telles dates, et sans macro, je ne vois pas comment tu pourrais faire ça, le truc c'est que je ne connais pas ton niveau en macro...

En tout cas je te joins déjà une solution pour le stock initial, j'ai dû rajouter des fonctions pour tes données parce que d'un côté tu as "cti 2" et de l'autre "cti2" ou encore "1985_" et "1985" de l'autre...

Voici le fichier:

Bonjour,

Tout d'abord je te remercie pour le temps que tu as pris pour me répondre, et je t'en suis reconnaissant.

Effectivement, l'onglet "SORTIES DE STOCK" corresponds à la nomenclature des produits finis.

Enfaite cette source ne sera jamais fixe, car il y a de nouveaux produits finis régulièrement. Ce que je compte faire au final c'est lancer les extractions dans les fichiers d'origine dédiés et venir coller les données sur ce fichier. Tous les onglets sont coller à partir des sources de données.

Il est possible d'ajouter des infos dans cet onglet, j'avais moi-même fais cela pour pouvoir appliquer ma formule indirect : j'ai rajouté une fonction concatener aux 2 premières colonnes pour ajouter une lettre ou "_" aux références chiffrées et pouvoir utiliser la formule indirect, car cela ne marchait pas avec des chiffres.

Le problème c'est que je ne sais pas du tout faire de Macro, et c'est frustrant car je suis littéralement bloqué. J'ai réussi à "automatiser" le calcul des sorties de stocks avec ma méthode et le reste semble impossible à réaliser avec cette méthode.

Je viens de regarder ta solution pour le stock initial. Effectivement, il faut que je fasse un point pour identifier exactement les emplacements des matières premières. Et ça marche à merveille à partir du moment ou l'emplacement est exactement inscrit. Je te remercie infiniment !!

Si tu as d'autres questions n'hésite pas.

Re,

Alors par rapport à ton retour... Malheureusement tu ne connais pas le langage VBA, c'est grave si je fais une solution par VBA? Parce que faire une boucle sur les feuilles, aller voir toutes les feuilles qui commencent par "L" suivi d'un nombre, et ensuite voir pour avoir une production de produit finis synthétisé par date, et croiser ça avec les nomenclatures pour connaître précisément la consommation de chaque article, c'est faisable, il faut juste éviter de s'emmêler les pinceaux... A quel point souhaites-tu être aidé par rapport à cette partie de ton projet?

Re,

Non au contraire, je serai ravi d'avoir cet autre méthode VBA. Je me focalise uniquement sur cela maintenant, seulement comme tu as très bien dis, je ne connais pas le langage VBA pour pouvoir créer une macro.

Si ce n'est beaucoup te demander, j'aimerai avoir une aide pour créer la macros pour pouvoir croiser les données.

Merci beaucoup pour ton aide.

Re,

Du coup tu souhaites créer toi-même la macro avec de l'aide? (désolé j'ai du mal à comprendre), le plus gros souci pour moi ça va être d'optimiser le programme (oui pas vraiment de le faire fonctionner), parce qu'il va y avoir pas mal de choses à faire et ça veut dire du temps de calcul

Si jamais tu es intéressé par VBA, tu peux trouver des cours sympas sur internet, tu en as aussi sur ce forum si tu veux y jeter un coup d'oeil : https://www.excel-pratique.com/fr/vba.php

Re,

Si cela ne te dérange pas je voudrais bien que tu me propose une macro, bien entendu si tu es d'accord. Je ne veux pas être impoli en te demandant cela, car tu m'as déjà apporté une grande aide pour l'affichage du stock initial.

Du temps de calcul, c'est à dire le temps que la macro s'exécute?

Bonjour,

ça ne me dérange pas vraiment mais ça prendra un peu de temps pour faire le code...

Quand je parle de temps de calcul, je veux parler du temps d'éxécution de la macro oui

Bonjour,

Merci beaucoup en tout cas. Tu penses que ça prendra combien de semaines pour faire le code?..

Ce n'est pas un soucis tant que le résultat est là et que ça ne prend pas énormément de temps à exécuter la macro.

Re,

Je ne pense pas que parler de semaines soit vraiment raisonable, je dirais plutôt que ça dépend de quand je pourrai consacrer du temps à faire ce code Si j'arrive rapidement à consacrer du temps dessus, je pense que ce sera finit dans quelques jours, sinon il faudra attendre le week-end pour que je me penche dessus

Re,

ah d'accord , je te remercie énormément pour le temps que tu consacre pour ma demande... Et même si tu n'y arrive pas, sache que tu m'es d'une grande aide, de par ton analyse et ton point de vue.

Merci infiniment

Re,

J'ai oublié de te dire qu'il y avait des contraintes spécifiques sur certaines matières premières et sur certaines Lignes de production.

Est-il possible des les ajouter ultérieurement, ou bien il est nécessaire de les insérer dans le code lors de la création de la macro?

Bonjour,

désolé pour le temps que je mets à répondre, je vais essayer de me mettre à jour sur le forum au niveau des sujets auxquels j'ai participé.... Si il y a des cas particuliers, il faudra en effet les prendre en compte dans la macro, pourras-tu me décrire quels sont ces cas particuliers?

Bonjour,

Il n'y a pas de soucis, je comprends tout à fait ..

Ci-joint le fichier.

Les contraintes spécifiques sont inscrites en zone texte (L1) dans le fichier. J'ai essayé d'expliquer avec un exemple.

N'hésite pas à revenir vers moi s'il y a des choses qui ne sont pas claires.

Cdlt

Bonjour à toi

Je me penche enfin sur le fichier en question... Je me fais aussi une note de fonctionnement ici pour plus tard:

Début du programme: passer par les onglets L# pour connaître la quantité en tonnes de produit fabriqué, première difficulté ici, répartir la fabrication sur les jours par rapport au temps passé, il faudra faire quelques calculs pour ça tout en évitant de se prendre la tête. Une fois que ça c'est fait, utiliser ces quantités et les nomenclatures pour connaitre la conso par jour de chaque produit, une fois que ça c'est fait, ramener les infos à l'endroit prévu ou bien créer une feuille d'infos dans laquelle aller piocher.

Par contre j'ai vu que tu avais ajouté une contrainte qui sont les jours ouvrés c'est ça? en clair il ne faudra pas attribuer de temps aux jours qui ne sont pas travaillés, par contre je pense que cette feuille mériterait d'être structurée différemment: une colonne date, une colonne lignes concernées, et ça devrait suffire séparer les lignes par un slash ou un point virgule, à voir

Je ne pensais pas que tu gérerais la consommation de produits comme ça par contre, mais si tu veux faire du juste à temps c'est plus juste oui...

Bonjour à toi

C'est exactement cela, le fait d'avoir la repartition des consommations sur les jours de fabrication (si plusieurs jours) sera plus précis que de mettre la consommation total sur le jour de début de fabrication. C'est la contrainte la principale difficulté qui m'a litteralement bloqué avec les formules.

Effectivement pour les L1 L2 L3 L5 ces lignes ne tournent ni les week-ends ni les jours feriés et ni les jours spéciaux tels que le pont de l'Ascension, fermeture des lignes...

En revanche, les L6 L7 L8 L9 LP tournent non-stop..

Ci-joint les corrections apportés

Merci pour votre aide et votre implication.

Bonjour,

je tiens tout d'abord à m'excuser de ma longue absence sur le forum, j'ai laissé plusieurs sujets à l'abandon... Est-ce que tu as pu avoir de l'aider sur ton sujet grâce à un autre forum ou bien je t'ai complètement bloqué? Si ta demande tien toujours, je peux essayer de me reprencher dessus avant je pense de quitter le forum un moment...

Vraiment désolé pour la gêne occasionnée

Bonjour,

Non, j’ai continué avec les Fonctions Excel, et j’ai réussi a pondre quelque chose de plutôt fiable. De toutes manières il était difficilement possible d’utiliser les macros VBA pour la tâche de par la complexité des bases de données.

Ne vous inquiétez pas, en parallèle de mon post sur ce forum, j’ai continué mon travail, et vous m’avez été d’une grande aide tout de même et je vous en remercie.

Rechercher des sujets similaires à "macro calcul besoins previsionnels matieres premieres"