Affichage des articles dont le libellé est excel. Afficher tous les articles
Affichage des articles dont le libellé est excel. Afficher tous les articles

vendredi 23 novembre 2018

Excel formule de calcule d'heure en prenant en compte les jours et heures ouvrées

Bonjour,

Etant donné que j'ai un peu galéré à sortir cette formule, je ne voulais pas quelle reste dans l'oubli, alors autant la partager.

Ce qu'on veut, c'est connaître le nombre d'heure entre deux dates.

ex: (au format hh:mm)
A2 : 30/10/2018 16h03
B2 : 07/11/2018 8h09

Réflexion : il faut définir 2 cas.

1-si l'écart de temps est sur la même journée, durée entre le début et la fin
2-si l'écart de temps est sur plus d'une journée,durée pour le 1er jour (section 2A)+ le nombre de jours complets (section 2B)+durée pour le dernier jour (section 2C)

Du coup, il faut connaître les horaires d'ouvertures, donc les renseigner dans des cellules cachés. (ici en format standard)
Z1: 8
(pour ouverture à 8h)
Z2: 17
(pour fermeture à 17h)
Z3: Z1+Z2
(pour le nombre d'heures ouvrés par jour)

Pour ne compter QUE les jours ouvrés, il existe une formule excel : NB.JOURS.OUVRES.INTL(A2,B2)
 où A2 est la date de début et B2 la date de fin.

Section 2A:
((1/24*Z2)-(A2-ENT(A2))
((1/24*Z2) = horaire de fin de service (Z2) de service au format Heure (*1/24)
A2-ENT(A2) = (date heure - date) pour obtenir juste l'horaire de début d'action
 donc
((1/24*Z2)-(A2-ENT(A2)) = heure de fin de service - heure de début d'action.



Section 2B :
NB.JOURS.OUVRES.INTL(A2;B2)-2)/24*Z3)
NB.JOURS.OUVRES.INTL(A2;B2) = le nombre de jours ouvrés entre les dates
 -2 = pour ne pas prendre en compte le 1er et dernier jours qui sont tronqués
/24 =pour remettre en nombre d'heure et pas en nombre de jour
*Z3 = le nombre d'heure ouvrés par jour
NB.JOURS.OUVRES.INTL(A2;B2)-2)/24*Z3) = le nombre de jours où la plage est complete entre les dates

Section 2C :
(B2-ENT(B2))-(1/24*Z1))
(B2-ENT(B2) = (date heure - date) pour obtenir juste l'horaire de fin d'action
(1/24*Z1)=horaire de début de service (Z1) de service au format Heure (*1/24) 
(B2-ENT(B2))-(1/24*Z1))= heure de fin d'action - heure d'ouverture de service


Section 3:
(1/24/60) =Les arrondis des différents calculs font perdre 1 minute, on la rajoute.

Donc on additionne le nombre d'heure travaillé sur le 1er jour + le dernier jour + les jours complets entre le 1er et dernier jour.

=(((1/24*Z1)-(A2-ENT(A2)))+(B2-ENT(B2))-(1/24*Z2))+(((NB.JOURS.OUVRES.INTL(A2;B2)-2)/24*Z3)+(1/24/60))