Formule nombre d'heures ouvrées

Résolu
Bonjour,

je souhaite calculer le nombre d'heures entre deux heures en excluant les we et jours fériés.
Ex
heure 1 : 31/01/2017 11:00 (cellule A1)
heure 2 : 05/02/2018 09:00 (cellule A2)
jour férié : 01/02/2018 (supposition) (liste L1)

il existe 2 jours we et 1 jour férié > Total 72h
donc la formule doit me retourner le nombre d'heure total entre heure 1 et heure 2 - 72

Qn peut-il m'aider svp.
Merci d'avance

2 réponses

  1. Bonjour,

    Une possibilité avec une colonne intermédiaire (à masquer):
    https://www.cjoint.com/c/HBgmFmfb88A

    Les jours fériés sont en f1, une ligne par jour --> Gestionnaire de nom -->Liste1 : DECALER(Feuil1!$F$2;;;NBVAL(Feuil1!$F:$F)-1)

    De b1 à b4000 (afin de prévoir de longues plages de temps) : sélection de la plage, saisie de la formule et validation avec CTR-Màj-Entrée :
    =SI(DATEVAL(TEXTE($A$1+LIGNE();"jj/mm/aaaa"))<DATEVAL(TEXTE($A$2;"jj/mm/aaaa"));SI(JOURSEM(TEXTE($A$1+LIGNE();"jj/mm/aaaa");2)<6;SI(NB.SI(Liste1;TEXTE($A$1+LIGNE();"jj/mm/aaaa"))=0;TEXTE($A$1+LIGNE();"jj/mm/aaaa");"");"");"")

    Ensuite, en d2 (formule normale) on récupère le nombre d'heures à partir de la liste de jours ouvrables entre les deux dates (la première ainsi que la dernière sont exclues pour ajouter les heures de la journées incomplète) :
    =SOMMEPROD((DECALER($B$1;;;NBVAL($B:$B))<>"")*1)*14+HEURE($A$2)+SI(ET(JOURSEM($A$1;2)<6;NB.SI(Liste1;$A$1)=0);24-HEURE($A$1);0)

    Dans cet exemple, le 01/01/207 est un dimanche donc pas d'heures comptées...si besoin de l'inclure dans tous les cas, modifier en d2 :
    =SOMMEPROD((DECALER($B$1;;;NBVAL($B:$B))<>"")*1)*14+HEURE($A$2)+24-HEURE($A$1)

    Cordialement,
    0
    1. Merci mais y a-t-il pas qqch de plus simple ?
      c'est trop compliqué pour moi :(
      0
    2. En fait si, à savoir la formule proposée par Vaucluse, et pour prendre en compte le premier jour qui peut être ouvrable ou non ouvrable :
      =NB.JOURS.OUVRES.INTL($A$1+2;$A$2;1;F2)*24+HEURE($A$2)+SI(JOURSEM($A$1;2)<6;24-HEURE($A$1);0)
      0
    3. Contributeur
      Effectivement, manquait juste une parenthèse à la fin

      voyez ici, les résultats en C validés par les tableaux de vérification dans la feuille

      https://mon-partage.fr/f/66oVxgWj/

      crdlmnt
      0
    4. c'est ça merci bien. j'ai utilisé ta formule Vaucluse et j'ai multiplié le tout par 24
      Merci encore
      0
    5. Contributeur
      Pas de quoi
      je passe el sujet en résolu
      Bonne route
      crdlmnt
      0