Calcul de durée en heure entre deux dates (plage horaire et

Bonjour le forum,

Je cherche une formule ou fonction qui permettrait de calculer la durée en heures ouvertes entre deux dates.

Une méthode qui prendrait en compte les horaires 8h-12h et 14h-18h et les jours ouvrés (hors samedi et dimanche) mais également les jours fériés.

J’ai déjà trouvé une formule mais elle ne fonctionne pas très bien. En effet sur une même date la formule ne me permet pas de calculer une différence d’heure entre 13H50 et 14H30 par exemple. Je ne sais pas pourquoi ça ne fonctionne pas au niveau de cette tranche horaire.

J’ai également essayé avec la formule suivante (merci quand même sonskriverez ) mais ça ne marche toujours pas et en plus de ça elle créé des beug :

Function HeureOuvrées(Début, Fin, PlageFériés)

For i = Début * 1 To Fin * 1 Step TimeValue("0:01")

If Hour(i) >= 8 And Hour(i) < 18 And Day(i) = Day(i + TimeValue("0:01")) _

And Application.CountIf([PlageFériés], CDate(Int(i)) * 1) = 0 _

And Weekday(CDate(Int(i)) * 1, 2) < 6 Then x = x + 1

Next

HeureOuvrées = x / 1440

End Function

Je cherche une âme charitable pour me venir en aide ?

Merci d'avance

457tickets-incident.zip (61.81 Ko)

bonjour

je ne comprend pas bien a quoi correspondent les heures de la col a et b

que representent ces heures par rapport aux heures theoriques d'ouvertures ( du retard à l'ouverture? )

a+

Salut,

Si tu veux la durée en jours c'est la fonction JOURS360 il me semble.

Je crois avoir posé une question similaire va voir le topic en question : https://forum.excel-pratique.com/excel/calcul-de-temps-passe-t16254.html

J'espère que celà t'aidera ! A+

Bonjour

La formule est juste.

Le problème c'est que la durée totale doit être égale à 10:00 (fin-début) et non à 8:00

Par ailleurs, est-il logique qu'il y ait des heures débuts qui tombent pendant des heures de pauses ?

Amicalement

Nad

Bonjour à tous,

Je voudrai savoir si le choix d'une formule différente dans une cellule en fonction est possible ??

En effet ma formule 1 fonctionne pour la « majorité » de mes cellules mais j’aurai besoin d’y associer une 2ème formule complémentaire pour que tout fonctionne.

Formule 1 : =SI(OU(NB.SI(fériés;DATE(ANNEE(A2);MOIS(A2);JOUR(A2)))>0;JOURSEM(A2;2)>5;NB.SI(fériés;DATE(ANNEE(B2);MOIS(B2);JOUR(B2)))>0;JOURSEM(B2;2)>5);"ERREUR !";NB.JOURS.OUVRES(A2;B2;fériés)*$G$9-SI(TEMPS(HEURE(A2);MINUTE(A2);)>$G$3;$G$9;SI(TEMPS(HEURE(A2);MINUTE(A2);)>=$G$2;TEMPS(HEURE(A2);MINUTE(A2);)-$G$2-SI(ET(TEMPS(HEURE(A2);MINUTE(A2);)>$G$6;TEMPS(HEURE(A2);MINUTE(A2);)<$G$7);$G$7-TEMPS(HEURE(A2);MINUTE(A2);))-SI(TEMPS(HEURE(A2);MINUTE(A2);)>=$G$7;$G$7-$G$6)))-SI(TEMPS(HEURE(B2);MINUTE(B2);)<$G$2;0;SI(TEMPS(HEURE(B2);MINUTE(B2);)<$G$3;$G$3-TEMPS(HEURE(B2);MINUTE(B2);)-SI(ET(TEMPS(HEURE(B2);MINUTE(B2);)>$G$6;TEMPS(HEURE(B2);MINUTE(B2);)<$G$7);$G$7-TEMPS(HEURE(B2);MINUTE(B2);))-SI(TEMPS(HEURE(B2);MINUTE(B2);)<=$G$6;$G$7-$G$6))))

Formule 2 :

Function HeureOuvrées(Début, Fin, PlageFériés)

For i = Début * 1 To Fin * 1 Step TimeValue("0:01")

If Hour(i) >= 8 And Hour(i) < 18 And Day(i) = Day(i + TimeValue("0:01")) _

And Application.CountIf([PlageFériés], CDate(Int(i)) * 1) = 0 _

And Weekday(CDate(Int(i)) * 1, 2) < 6 Then x = x + 1

Next

HeureOuvrées = x / 1440

End Function

Est’ il possible d’associer les deux pour certaines de mes cellules ?

Merci d'avance

Edit de Nad : la formule fonctionnera sur toutes les cellules quand, comme je te l'ai dit plus haut, tu mettras 10:00 dans la durée.

Bonjour,

Nous mettre une telle formule sans son fichier n'est pas fait pour faciliter l'obtention d'une réponse.

On peut commenver par simplifier la formule pourrait être simplifiée : par exemple :

DATE(ANNEE(A2);MOIS(A2);JOUR(A2)) peut être remplacé par ENT(A2)

et

TEMPS(HEURE(A2);MINUTE(A2);) peut être remplacé par MOD(A2;1)

à appliquer également pour B2

Donc pour revenir à ta question, joins nous un extrait de ton fichier qui nous permettra de mieux cerner ton problème.

@+

Bonsoir

J'ai fusionné les 2 fils de lacombine.

Nad

Bonjour,

Je suis d'accord avec toi Nad-Dan il n'est pas logique qu'il y ait des heures débuts qui tombent pendant des heures de pauses !!

J'ai néanmois essayé avec une durée totale de 10:00,cela fonctionne,mais la présence d'une pause est alors inutile.Je pense que les consignes de mon professeur sont mal indiquées.

Je vous remerci en tout cas pour votre aide et surtout pour votre réactivité!!

Bien à vous

Rechercher des sujets similaires à "calcul duree heure entre deux dates plage horaire"