Problème dans une formule sur un planning

Résolu
Bonjour,

J'aurai besoin dun peux d'aide sur un planning que j'avais mis au point
Suite à de nombreuses modifications, je viens de le passer à l'heure mais je bloque
Pouvez-vous me proposer une solution
Merci par avances

Le fichier en PJ

https://cjoint.com/c/KIqsaP0GwX4

Configuration: Windows / Edge 93.0.961.47


--
C'est en forgeant que l'on devient forgeron. -   C'est au pied du mur que l'on voit le maçon - on apprend toujours de ses erreurs

38 réponses

Résumé de la discussion

La problématique porte sur la mise au point d’un planning après modifications et sur une difficulté à le mettre à l’heure, avec un fichier joint et une configuration Windows/Edge. Les échanges centrent leurs propositions autour de la macro VBA Insertion_Bloc_Monteur et de l’adaptation de la MFC, avec des mentions de révisions du code, du module2 et d’instructions manquantes. D'autres interventions évoquent des ajustements de l’ordre de tri des monteurs et zones, la vérification des dates M13 et l’ajout de blocs via une commande Ajouter bloc, accompagnée de mises à jour des règles. Si besoin, plusieurs éléments techniques pourraient nécessiter une remise au propre, notamment la suppression du mélange des règles MFC et la confirmation d’un nouvel ordre zone/monteur après sauvegarde.

Bobot (l’IA à votre service)
  1. Bonsoir,
    Vous faite bien attention à :Note: la première date [M13] est la date du début mentionnée en [L13] et non pas la suivante comme votre modèle..!

    le voici (le même que sous poste 15, juste modifier le nom): https://cjoint.com/c/KIstQYaBBmn

    1
    1. Bonsoir,
      Eh bien je viens de transférer mes formules dans votre plage de planification (M6:GL6) et ton fonctionne correctement .
      1
      1. Bonjour,
        Merci, content de savoir que cette fois c'est bon.
        Je vais volontiers me pencher sur cette insertion de bloc monteur, mais pas de suite... Dès lundi/mardi prochain.
        Bon dimanche.

        1
        1. Bonsoir,
          Eh bien suis content que c'est enfin correct. Ce fut laborieux car la MFC en vba m'était inconnue et j'ai de ce fait enrichie mes petites puces.
          Pensée de marquer comme résolu.
          En marge, j'ai vue votre message pour Grouch et j'ai constaté que vous n'avez pas repris intégralement le code de la macro [Insertion_Bloc_Monteur()] il manque des instructions , la MFC n'a pas été adapté (contient tout un mélange de règle et pour finir le module2 est toujours présent bien que plus utilisé...dommage...!
          Et voici une partie de résultat:

          Bonne fin de semaine.

          1
          1. Bonjour,
            Je n’ai pas bien compris le problème, toutefois dans la ligne 5 où vous avez le numéro du jour, j’ai remarqué ceci : le 1 pour lundi et pour le prochain lundi vous avez le 2 !

            0
            1. Re bonsoir,
              Question: pourquoi systématiquement le jeudi n’a que 4 heures au lieu de 8 et le vendredi 1 heure au lieu de 4 heures … ?
              0
              1. Contributeur
                Bonjour Le Pingou

                Merci de me venir en aide
                C'est là un de mes problèmes ce décalage que pour le moment je ne comprends pas
                Si je fais =JOURSEM(N6;2) colonne N le numéro de jour est bon
                Si j'utilise JOURSEM(M6+1;2) il y a des soucis pourtant le numéro de série du jour précédent +1 devrait donner le même résultat ? (cette formule pour éviter les calculs circulaires)
                Peut que mon raisonnement n' est pas logique, je me casse la tête avec ça
                Je teste les jours fériés et je mets la date du jour à 18:00 fin de journée
                Je teste les samedis et dimanches et je fais la même chose date et 18:00 (j'ai décomposé suite au problème au début je faisais un SI(OU(...)
                Après je teste heure de début heure de fin de journée pour incrémenter les heures du jour 8:00 à 15:00
                Puis si c'est faux je passe au jour suivant à 8:00

                Avez-vous une autre idée MERCI
                0
            2. Bonjour,
              J'ai trouvé une première correction pour la cassure du jeudi, dans la partie (SI(ET...)) la formule j'ai supprimé le [+1] pour la plage horaire:


              Note : reste encore le problème pour le vendredi... pas encore trouvé!
              0
              1. Contributeur
                Bonjour Le Pingou

                J'ai décomposé la formule

                =SI(ET(M$6+M$1-ENT(M$6)>=RECHERCHEV(JOURSEM(M$6;2);Horaire_hebdo;2;0);M$6+M$1-ENT(M$6)<=RECHERCHEV(JOURSEM(M$6;2);Horaire_hebdo;3;0));M$6+1+M$1;ENT(M6)+1+1/24*8)

                Cela ne fonctionne pas comme il faut problème le vendredi 12:00 au lieu de 11:00
                Le lundi début 9:00 au lieu de 8:00

                Merci pour ton aide
                0
                1. Bonjour,
                  Il y a aussi des valeurs [=1/24] qui manque dans ligne 1 !
                  Il me reste le problème du vendredi qui reste sur une cellule au lieu de 4 (pour 4 heures de travaux)..
                  Et aussi si un jour férié tombe entre les jours ouvrables (ma,mer et je)

                  0
                  1. Contributeur
                    Oui pour la ligne1 la formule

                    =SI(OU(NB.SI(fériés;ENT(BM6))>0;JOURSEM(BM6;2)>5);0;1/24)

                    pour moi jeudi 4:00 au lieu de 8:00
                    vendredi 8:00 uniquement
                    0
                2. Contributeur
                  Bon il me reste plus que le vendredi qui ne fonctionne pas, voici ma formule

                  =SI(NB.SI(fériés;ENT(Q$6)+1)>0;ENT(Q$6)+1+1/24*18;SI(JOURSEM(ENT(Q$6)+1;2)>=6;ENT(Q$6)+1+1/24*18;SI(ET(Q$6+Q$1-ENT(Q$6)>=RECHERCHEV(JOURSEM(ENT(Q6);2);Horaire_hebdo;2;0);Q$6+Q$1-ENT(Q$6)<=RECHERCHEV(JOURSEM(ENT(Q6);2);Horaire_hebdo;3;0));SI(Q$1=0;ENT(Q$6)+1/24*8;Q$6+Q$1);ENT(Q$6)+1+1/24*8)))
                  0
                  1. Bonjour,
                    J'ai encore un moment cette après-midi, j'espère trouver la solution.
                    0
                    1. Contributeur
                      Je regarde la possibilité de contrôler l'heure avant le test heure début / fin
                      Je reprendrai plus tard je dois absenter
                      0
                  2. Bonjour,
                    Avec le premier bloc ; problème avec heures du vendredi et avec jours fériés sur jours ouvrables
                    Dans le deuxième bloc; problème avec les jours fériés dans plage lundi-vendredi !
                    Je fais une longue pause.
                    Le fichier: https://www.cjoint.com/c/KIrp3EY6JKn
                    0
                    1. Contributeur
                      Bonsoir Le Pingou

                      Mon fichier avec mes problémes
                      Je vais étudier tes solutions pour voir si j'arrive à une solution
                      C'est vraiment bizarre le comportement de cette formule elle n'est pas Constante

                      https://www.cjoint.com/c/KIrsy1zUbb4

                      Merci
                      0
                      1. Contributeur
                        Bonjour Le Pingou

                        Oui ça avance mais encore un souci

                        '=SI(ET(fériés;ENT(N$6)>0;JOURSEM(N$6;2)>=6);SI(ET(NB.SI(fériés;ENT(N$6+1))=0;JOURSEM(N$6;2)=7);ENT(N$6)+1+1/24*8;ENT(N$6)+1+1/24*18);SI(ET(N$6+N$1-ENT(N$6)>=RECHERCHEV(JOURSEM(ENT(N$6);2);Horaire_hebdo;2;0);N$6+N$1-ENT(N$6)<=RECHERCHEV(JOURSEM(ENT(N6);2);Horaire_hebdo;3;0));SI($M$1=0;ENT(N$6)+1/24*8;N$6+N$1);SI(NB.SI(fériés;ENT(N$6)+1);ENT(N$6)+1+1/24*18;ENT(N$6)+1+1/24*8)))

                        Devrait être N1 pas M1

                        Merci je regarde les différentes versions
                        0
                        1. Bonjour,
                          Mes formules qui fonctionnent selon ma plage (M10:GL13)
                          Note: la première date [M13] est la date du début mentionnée en [L13] et non pas la suivante comme votre modèle..!
                          formule premier jour en [M13]:
                          =SI(ET(fériés;ENT(L$13)>0;JOURSEM(L$13;2)>=6);ENT(L$13)+0+1/24*18;ENT(L$13)+0+1/24*8)

                          formule dès colonne [N13...] a tirer jusqu'à [GL13]:
                          =SI(ET(fériés;ENT(M$13)>0;JOURSEM(M$13;2)>=6);SI(ET(NB.SI(fériés;ENT(M$13+1))=0;JOURSEM(M$13;2)=7);ENT(M$13)+1+1/24*8;ENT(M$13)+1+1/24*18);SI(ET(M$13+M$10-ENT(M$13)>=RECHERCHEV(JOURSEM(ENT(M$13);2);Horaire_hebdo;2;0);M$13+P$1-ENT(M$13)<=RECHERCHEV(JOURSEM(ENT(M$13);2);Horaire_hebdo;3;0));SI(M$10=0;ENT(M$13)+1/24*8;M$13+M$10);SI(NB.SI(fériés;ENT(M$13)+1);ENT(M$13)+1+1/24*18;ENT(M$13)+1+1/24*8)))

                          Pour moi tout marche sans faute.
                          0
                          1. Contributeur
                            Bonsoir Le Pingou

                            Pouvez-vous n'envoyer votre fichier ?
                            Lorsque je colle les formules en M13 et N13 le résultat n'est pas bon
                            En plus on test 2 fois mais il manque NB.SI devant féries
                            =SI(ET(fériés;ENT(M$13)>0;JOURSEM(M$13;2)>=6);SI(ET(NB.SI(fériés;ENT(M$13+1))=0;

                            Tout cela n'est pas encore claire
                            Merci de votre participation mais le problème est ardu.
                            0
                            1. Contributeur
                              Bonjour Le Pingou

                              Voilà avec beaucoup d'aide de ta part. Le fichier est opérationnel, j'ai modifié ta formule pour plus de précision et le raisonnement me convient mieux
                              Merci Pour toutes ton aide à plusieurs on a plus d'idées

                              https://cjoint.com/c/KItjqanI2N4

                              Pouvez-vous regarder pour automatiser en VBA l'insertion de monteurs supplémentaires (un bloc de 31 lignes séparation comprise

                              Merci

                              0
                              • 1
                              • 2

                              Discussions similaires

                              exo pix

                              2 réponses