Macro ou formules pour répartir des quantités sur une période

Résolu
Bonjour,

J'ai une question :
Est-ce que je peux recevoir une Macro qui va répartir une quantité (ex pour le disque 2 c'est 30 000 unités) à partir de la date de livraison du 6/03/2021 sachant que 4 jours ouvrés (hors samedi et dimanche) en arrière dans le temps il y a une date de départ usine et 7 jours calendaire (avec les samedi et dimanche ) en arrière il y a une date de fin de fabrication.
Le date de fin de fabrication doit correspondre au dernier jour de fabrication des disques.
et donc la date de début de fabrication dépend des quantités à fabriquer et des capacités de fabrication disponible plafonnée à 3 500 unités/jour.

C'est un peu le même exemple que précédemment sauf que ici la répartition se réalise en fonction de la date de livraison (et non la date de fabrication) => il faut remonter dans le temps avec les délais pour répartir les quantités à fabriquer entre la date de début et la date de fin de fabrication.

J'ai joint un fichier excel qui illustre l'exemple

Merci de votre aide



30 réponses

Résumé de la discussion

Le problème consiste à répartir une quantité totale (par ex. 30 000 unités) entre les dates de fabrication en partant d’une date de livraison, en remontant les délais: 4 jours ouvrés vers la date de départ usine et 7 jours calendaires vers la fin de fabrication, la fin devant coïncider avec le dernier jour de fabrication et avec une capacité plafonnée à 3 500 unités par jour. Une solution VBA a été développée pour traiter les ordres ligne par ligne selon une durée choisie par l’utilisateur, déclenchée par un bouton, avec une option pour vider la plage de répartition. Des améliorations prévoient un contrôle d’entrée (msg d’erreur si aucune durée n’est saisie), l’affichage des informations liées à la date de départ usine lors du déclenchement d’un bouton et une fonction de remise à zéro de la plage (Vider la plage). La répartition repose sur une clé proportionnelle au nombre d’ordres (par exemple 1/3 pour trois ordres, 1/2 pour deux ordres), calculant le repartitionnement quotidien tout en respectant le total et la durée ainsi que la limite de 3 500 unités/jour. Le travail vise à finaliser l’intégration et à partager le code VBA utilisé pour adapter le modèle aux besoins spécifiques.

Bobot (l’IA à votre service)
  1. Bonjour,
    Est-ce que c'est le résultat que vous souhaitez , sinon mettre votre modèle!!!


    0
    1. Bonsoir,

      Oui c'est ça.
      Merci pour ton aide
      est-ce que je peux obtenir le codage VBA qui t'as permis d'obtenir ce résultat ?

      Merci beaucoup
      0
  2. Bonsoir,
    Je l'ai réalisée manuellement en partie à l'aide de fonction.
    Avez-vous essayé une solution pour résoudre votre problème ?
    Pour la macro ce net pas évident, je vais voir la faisabilité.
    Patience

    0
    1. Merci, c'est gentil
      J'ai essayé de programmer mais je n'y suis pas arrivé
      0
  3. Contributeur
    Bonjour,

    il est où le fichier exemple xls ?
    Dernière limite Le Pingou, mais mes meilleurs voeux (de santé bien sûr) pour 2021
    eric

    0
    1. Hello eriiic, merci et à mon tour je te souhaite mes meilleurs ainsi qu'une bonne santé.
      Concernant la demande de Dreampower75 je vais attendre le fichier et ensuite je poursuivrai l'affaire.
      Salutations.
      Le Pingou
      0
    2. @Le Pingouvoici le résultat attendu approximativement

      0
  4. bonsoir

    en fait on ne peut pas intégrer/charger de fichier dans ce forum

    Ibé
    0
    1. Contributeur
      Merci de déposer le fichier xls (réduit au nécessaire et anonymisé, avec les explications et éventuellement le résultat attendu) sur cjoint.com et coller ici le lien fourni.
      eric
      0
  5. Bonjour,

    De la GPAO avec Excel : une usine à gaz

    Il existe des logiciels Open source pour ça.
    0
    1. Bonjour,
      J’ai un peu d’avance, je vous laisse la découverte et merci du retour pour que je puisse finaliser le programme.
      Le lien : https://www.cjoint.com/c/KADqz0CKeg0

      0
      1. Bonjour,

        Merci beaucoup pour votre aide :-)
        J'ai quatre questions :

        1/j'ai oublié de vous indiquer que je souhaite que la limite des 3500 disques à fabriquer soit calculée au fur et à mesure de l'ajout des quantités de disque et des disques à fabriquer à chaque ligne
        Par exemple, lorsqu'on rajoute uniquement le disque 3, cela ne fonctionne pas car la Macro calcule 3 500 quantités et avec les 2 500 existants du disque 2 => cela ne fonctionne pas car cela fait 6 000 et on dépasse la limite des 3 500.



        2/ est-ce que vous pouvez exclure les 7 jours fériés de 2021 qui ne tombe pas un samedi ou un dimanche des jours ouvrés ? (voir capture d'écran ci-dessous)
        Est-ce qu'on peut créer une colonne sur le fichier en lien avec ces 7 jours fériés particulier qui sera pris en compte par la Macro et je rajouterai moi-même les jours en question à exclure sur le fichier ?



        3/est-ce que on peut rajouter un autre bouton MAcro qui réalise la durée de production selon une durée choisi par moi-même, par exemple pour le disque A4 la durée de production est de 7 jours, est ce que dans la colonne A, je peux rajouter 10 jours pour que la durée soit de 10 jours ?





        4/ est-ce que je peux obtenir dans la colonne HA la date de début de fabrication ?

        J'ai rajouté le tableau avec mes nouvelles remarques sur le lien ci dessous
        https://www.cjoint.com/c/KBbkDlCPleF

        Merci beaucoup pour votre aide :-)
        0
    2. Merci beaucoup :-)

      Je vous fait un retour
      0
      1. Bonjour,
        Merci du retour.
        Réponse Q1 : c’est normal car vous n’avez pas indiqué la quantité à répartir pour Disque A2 .
        J’ai pris en compte ceci pour la procédure


        Pour les autres questions je vais regarder ce qui est faisable.
        En attendant je vous met la version qui prend en compte le nombre de ligne d’ordre (de la ligne 9 à 30) qui sont renseignées.
        Le lien : https://mon-partage.fr/f/FCWlgKjF/

        Question: les jours fériés valable pour la France...Oui ou Non ?

        0
        1. Merci beaucoup

          c'est la liste des jours fériés valable en République tchèque.
          est-ce que je peux l'ajouter sur le fichier Excel pour qu'elle soit reliée à la Macro ?
          Comme cela on peut modifier les dates du fichier excel sans modifier la Macro
          c'est quelque chose qui ressemble à " Sheets("Feuill1").range("A34",......).value " ?????

          Merci beaucoup
          0
      2. Bonjour,
        J'ai déjà intégré le tableau des jours fériés (avec calcul du jours) selon votre image (poste 18).
        Je ne comprend pas la suite de votre texte......!
        En principe dans la procédure on tient compte de la plage des dates (H5:GZ5) pour les jours disponibles et ensuite on contrôle dans le tableau des jours fériés s'il y a des jours fériés dans la période y relative de 4 jours ouvrés.
        0
        1. Merci beaucoup
          oui vous avez raison
          on contrôle les dates (H5:GZ5) et ensuite les jours fériés dans la période relative de 4 jours ouvrés.
          vous pouvez oublier et mettre de côté la suite de mon texte.
          0
      3. Bonjour,
        Cette version prend en compte les points 1 et 2 de votre poste 8.
        La procédure « Vider la plage » concerne la plage H9 :GZ30 pour les lignes qui ont une quantité à répartir (si pas de valeur c’est considérer comme réservé : voir Disque A1).
        Je n’ai pas encore de solution pour le point 4…patience.
        Votre classeur : https://mon-partage.fr/f/fpbSnqy6/
        En marge, il y a des poste supprimer..... est-ce de vous --Oui Non

        1
        1. Merci beaucoup

          et concernant la demande point 3 relatif au choix de la période de production ?
          0
          1. Bonsoir,
            Désolé j’ai mis la mauvaise version, prendre celui-ci : https://mon-partage.fr/f/eJT8RsZl/

            Note, je voulais dire le point 3 est encore en suspens et pour le 4 (4/ est-ce que je peux obtenir dans la colonne HA la date de début de fabrication ?) je ne comprend pas ...?

            J’ai une question pour le point 3, lorsque vous fixez par exemple 10 jours de production et que la quantité est de 5500 pièces alors c’est 10 jours à 550 pièces Oui ou Non ou autre explication… ?

            0
            1. Bonjour,

              1/Oui c'est cela c’est 10 jours à 550 pièces
              => il faut respecter les quantités fabriqués déjà existantes pour les autres marchandises sur les autres lignes par rapport à la limite de 3 500 unités par jour

              2/La date de début de fabrication, c'est le 1er jour de fabrication
              => c'est le 11/02/2021 pour le disque 2



              Merci d'avance
              0
            2. Bonjour,

              Merci pour les informations
              J'ai 2 questions concernant le nombre de jours fériés :

              1/ Est-ce que vous avez déduit les jours fériés du calcul des 4 ouvrés uniquement de la période des jours ouvrés?

              => Exemple : Car pour le jeudi 13/05/2021 qui est férié (Ascension), ce jour ne devrait pas être considéré comme un jour ouvré (capture d'écran ci-après)
              Le 1er jours ouvré en vert doit être le 10/05/2021 et non le 11/05/2021





              2/ Est-ce qu' on peux intégrer comme jours fériés, les jours férié ci-après en 2021 :

              vendredi 1. janvier 2021
              vendredi 2. avril 2021
              lundi 5. avril 2021
              samedi 1. mai 2021
              samedi 8. mai 2021
              lundi 5. juillet 2021
              mardi 6. juillet 2021
              mardi 28. septembre 2021
              jeudi 28. octobre 2021
              mercredi 17. octobre 2021
              vendredi 24. décembre 2021
              samedi 25. décembre 2021
              dimanche 26. décembre 2021

              Est-ce dans cette partie ci-après que cela doit être rajouté ?



              ou cette partie que le rajout doit s'effectuer ?



              Merci d'avance
              0
            3. @Dreampower75Bonjour,
              Dans poste 26 vous dite :
              1/Oui c'est cela c’est 10 jours à 550 pièces
              => il faut respecter les quantités fabriqués déjà existantes pour les autres marchandises sur les autres lignes par rapport à la limite de 3 500 unités par jour

              Ma question, donc comment on fait si les quantités fabriqués déjà existantes utilise déjà 3 500 unités en supposant que pour les 10 jours il y a un délai de livraison… ?

              2/La date de début de fabrication, c'est le 1er jour de fabrication
              => c'est le 11/02/2021 pour le disque 2

              Ma question, oui c’est correct, ou vous voulez la mettre, en colonne « HA » ce n’est pas logique, ce devrait être dans la partie gauche de la feuille insérant une colonne
              Merci des commantaires.

              Salutations.
              Le Pingou
              0
            4. @Le PingouBonjour,

              1/ Oui => il faut insérer une colonne dans la partie gauche de la feuille pour la colonne "date de début de fabrication"

              2/Votre question : <ital>Ma question, donc comment on fait si les quantités fabriqués déjà existantes utilise déjà 3 500 unités en supposant que pour les 10 jours il y a un délai de livraison… ?</ital>

              Ma réponse => il faut voir si le jour d'avant la capacité n'est pas consommé et, si elle est consommée il faut ainsi de suite voir 2 jours avant si la capacité de fabrication n'est pas consommée et ainsi de suite pour pouvoir calculer une quantité à fabriquer

              Le délai de livraison ne rajoute aucune incidence car il sera toujours de 4 jours ouvrés en excluant les jours fériés

              Exemple : Pour le disque A5 la durée de production calculée par la Macro est de 12 jours
              SI on souhaite qu'elle soit de 15 jours => il faut regarder le 10/02/2021 si la capacité de 3 500 est consommé, si c'est le cas, il faut regarder le 09/02/2021, si ce n'est pas le cas => on peut calculer une quantité à produire avec le prorata à défaut si cela est le cas que les 3 500 sont déjà consommés on regarde au 08/02/2021



              Est-ce clair ?

              Merci d'avance
              0
          2. Bonjour,
            Dans poste 29 vous dite :

            Exemple : Pour le disque A5 la durée de production calculée par la Macro est de 12 jours
            SI on souhaite qu'elle soit de 15 jours => il faut regarder le 10/02/2021 si la capacité de 3 500 est consommée, si c'est le cas, il faut regarder le 09/02/2021, si ce n'est pas le cas => on peut calculer une quantité à produire avec le prorata à défaut si cela est le cas que les 3 500 sont déjà consommés on regarde au 08/02/2021


            Donc : c’est 7000 pièces en 15 jours soit 466 par jour et si des jours pas disponibles alors nous avons par exemple : une période de 15 jours (non consécutif) qui s’échelonne sur une période de 20 jours de production.
            J’aimerais bien savoir exactement comment vous calculez les contacts de production si le même jour j’ai 3 ordres avec aux total 2000+3000 et 7000. Qu’elle est la clef de répartition si aucune durée n’est choisie…

            En attendant voici le classeur adapté sans prise en compte des durées choisie.
            Le lien : https://mon-partage.fr/f/UEpDjmGR/

            0
            1. Merci beaucoup
              0
            2. 1/ excusez-moi, est-ce que vous pouvez rajouter une autre colonne avec la date de départ usine (à gauche du fichier) qui est la date associée à la 1ere cellule de couleur vert fluo (cellule avec inscription "OV") ?

              2/ Vos commentaires => "J’aimerais bien savoir exactement comment vous calculez les contacts de production si le même jour j’ai 3 ordres avec aux total 2000+3000 et 7000. Qu’elle est la clef de répartition si aucune durée n’est choisie…"
              Ma réponse => il n'ya pas de clé de répartition à prendre en compte dans ce cas

              Merci d'avance
              0
          3. Bonjour,
            Merci de fixer l'endroit ou vous désiré la colonne directement sur le classeur en mettant une petite note et mettre le classeur sur sur https://mon-partage.fr/ et poster le lien.
            J'adapterai la procédure en conséquence.
            0
          4. Boujour,
            Vous m'expliquer pourquoi vous avez insérer 14 colonnes et à quoi elles servent?
            Je ne peux pas adapter le code avant votre réponse.

            0
            1. c'est pour moi même pour rajouter des commentaires spécifiques, des references...
              pour réaliser des calculs de productivité,

              Merci
              0
          5. Bonjour,
            Encore un petit détail, dans le poste 20 vous m’avez répondu ceci :
            c'est la liste des jours fériés valable en République tchèque.
            Est-ce vraiment correct…(fêtes nationale le 14 juillet c’est français) … !

            0
            1. oui mais je rajouterai la liste des jours fériés valable en République tchèque dans le tableau des jours feries
              je supprimerai les jours français pour rajouter les jours tchèques

              Merci
              0
          6. Bonsoir,
            Merci.
            Je penses que vous pouvez aussi adapter les macros selon l'ajout des colonnes.
            0
            1. ou sinon je peux les supprimer les colonnes vides si c'est plus simple pour vous
              vous pouvez les supprimer les colonnes vides à défaut
              0
            2. j'ai joint un nouveau fichier avec les colonnes vides supprimer : cela sera plus simple
              voici le lien du partage :
              https://mon-partage.fr/f/vG0goKlT/

              merci d'avance
              0
            3. Bonjour,

              Est-ce que vous pouvez uniquement rajouter la Macro pour la durée choisi ?
              J'ai joint un nouveau fichier, j'ai supprimé les colonnes vides et la colonne date de départ usine

              voici le lien du partage :
              https://mon-partage.fr/f/li7tnOtz/

              Merci d'avance

              0
          • 1
          • 2