Ajouter une durée à une date en excluant les dimanches

0

Salut famille,

J’ai du mal a déterminer la date exacte de fin  lorsque j’additionne la durée d’une activité a sa date de début. J’ai joint le fichier excel mais je vais m’expliquer pour que vous puissiez m’aider. fichier  https://www.cjoint.com/c/JCobBIQAdQ6

Voilà je veux déterminer les dates a laquelle des ouvriers vont terminer leurs activités respectives a partir des date de début de chaque activité et du nombre de jours que prendra cette activité. Je précise que les dimanches ne sont pas des jours de travail. Quand j’utilise excel pour calculer  cette date de fin, j’ai l’impression que excel ne tient pas compte du jour de début de l’activité et ne me permet pas d’isoler les dimanches.

Prenons le cas de marc qui commence le travail le 16/03/2020 à 8h 00, il est censé travailler 6 jours sans  les dimanches logiquement il doit finir le samedi 21/03/2020 mais excel  m’affiche comme date de fin le dimanche 22/03/2020. Je pense que excel a commencé a compter à partir du jour suivant c’est a dire le 17.

Je voudrais que vous m’aidiez à trouver si possible une formule qui prendrait en compte le jour de début et aussi pouvoir exclure les dimanches dans le décompte.

merci


    matsniper Posté le 14 mars, 02:33
    par matsniper
    Répondre
    0

    Bpnjour,

    Tu as la fonction SERIE.JOUR.OUVRE.INTL() qui fait cette opération.

    Tu lui indiques la date de départ (cellule D4)

    La durée en jours (cellule D3)

    Le type de week-end, pour le dimanche seulement, il faut taper 11 (voir l'aide en ligne)

    Et en plus, on peut aussi pointer vers une matrice qui ajoutera des jours fériés.

    Ce qui donne en E4

    =SERIE.JOUR.OUVRE.INTL(D4;C4;11)

    L'inconvénient de cette fonction est qu'elle ne donne que des jours entiers

    Il faut trouver une astuce pour ajouter la partie décimale de la durée de l'activité

    C4-ENT(C4) retire la partie entière et ne renvoie que les chiffres après la virgule

    Heureusement, cette même fonction peut être utilisée aussi avec les dates

    D4-ENT(D4) retire la date et ne garde que les heures

    J'ajoute le tout, un peu de sel un peu de poivre, je laisse cuire à feu doux et j'obtiens

    =SERIE.JOUR.OUVRE.INTL(D4;C4;11) + (C4-ENT(C4)) + (D4-ENT(D4))

    Je te retourne le fichier avec quelques petits trucs qui n'étaient pas dans la question mais que je trouve utile, le calendrier des jours fériés (on arrive en mai) , le format de ta durée d'activité qui ne pouvait pas excéder 31 jours, etc.


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


    Bonne lecture pour un week-end studieux :)

    MicXL Posté le 14 mars, 05:28
    par MicXL
    0

    En relisant ce paragraphe

    Prenons le cas de marc qui commence le travail le 16/03/2020 à 8h 00, il est censé travailler 6 jours sans  les dimanches logiquement il doit finir le samedi 21/03/2020

    Je me demande si je suis parti dans la bonne direction et s'il n'y a pas une confusion entre les jours entiers de 24 heures et les jours travaillés.

    Dans ton tableau, on a l'impression de jours de 24h, donc 16 mars + 6 jours = dimanche 22 mars, c'est un dimanche, c'est donc repoussé au lundi et non pas samedi. Entre le 16 et le 21, il ne s'est écoulé que 5 jours (5 fois 24 heures) 

    Mais en journées de travail, 8h/17h par exemple, effectivement, il peut y avoir 6 journées entre le 16 et le 21, d'où la confusion possible et quelques précisions à apporter.

    MicXL Posté le 14 mars, 05:39
    par MicXL
    0

    Merci MicXL, ta solution m'a fait progreeser énormement. J'ai aussi completé avec la formule 

    SI(JOURSEM(E4)=1;E4+1;E4) pour passer au jour suivant lorsque la date de fin tombe sur un dimanche  (voir en colonne F du fichier excel joint https://www.cjoint.com/c/JCprHX6R1Ay )

    Je voudrais savoir est ce qu'il existe une formule pour trouver le nombre de DIMANCHES entre deux dates. exemple entre le mardi 23 juin 2020 et le mercredi 29 juillet 2020  ??

    Merci encore pour votre aide à tous

    matsniper Posté le 15 mars, 18:35
    par matsniper

    Si vous n'êtes pas inscrit sur le site, vous pouvez poster librement (en tant qu'invité).
    Pour cela, indiquez un pseudonyme (nom d'utilisateur) et une adresse email :