Calcul du temps entre 2 dates

Bonjour à tous,

29test.zip (353.35 Ko)

J'ai besoin de votre aide précieuse !

J'ai un souci avec le fichier ci joint.

J'ai une formule qui me permet de calculer le nombre d'heure entre 2 dates cependant, sur certains résultats, il renvoie "##########".

Merci d'avance pour votre aide !

Bonjour à tous,

###############

Dans ton calcul, tu tombes sur des heures négatives, ce qui est impssible !

Crdlmt

Bonjour Patrice

Modifie ta formule teste cela :

=SI(NB.JOURS.OUVRES.INTL(D3;E3;1)-1>1;
MOD(E3-ENT(E3)-D3-ENT(D3);1)-(NB.JOURS.OUVRES.INTL(ENT(D3);ENT(E3);1)-1)*0,59375;
NB.JOURS.OUVRES.INTL(ENT(D3);ENT(E3);1)-1)*0,40625+MOD(E3-ENT(E3)-D3-ENT(D3);1)

Je n'y connais rien en formule, mais c'est peut-être bon quand même ??

Vois

Bonjour Patty,

tout d'abord, merci pour ton aide !

Cela resoud quelques problèmes mais pas tous..
C'est un vrai casse tete. Je n'arrive pas à comprendre ou est l'erreur.

Bonjour à tous,

Je reviens -je n'avais pas vu le fichier

pourquoi il y a un - dans

MOD(E3-ENT(E3)-D3-ENT(D3);1) - (NB.JOURS.OUVRES.INTL(ENT(D3);ENT(E3);1)-1)*0,59375;

le temps passé; c'est les jours (si l'arrivée est differente du depart)+ les heures

pour la premiere ligne, avec un + on a 17:46 ??

bonjour DjiDji59430,PatriceFlorin, on travaille de 9:45 à 14:15, càd. 4:30 par jour ?

=SI(NB(D3:E3)<>2;"-";(MAX(0;NB.JOURS.OUVRES.INTL(D3;E3;1;T_JF)-1))*$J$7+MAX(-$J$7;MIN($J$7;(MOD(E3;1)-MOD(D3;1)))))

mais cette formula sera fausse quand 1 des 2 jours est un weekend ou un jour férié.

19test-4.zip (365.34 Ko)

Bonjour à tous,

Pour répondre à Djidji, Sur la première ligne nous devons tomber sur 13:16. La formule est correcte pour ce cas de figure.

explique comment tu fais (on comment tu veux faire !)

Crdlmt

Mon objectif est de calculer le nombre d'heures travaillées sur une plage horaire sans comptabiliser les heures de repos.

Exemple :

Nous travaillons de 8h à 17h45. Ce qui fait un temps de repos entre 2 jours de : 14h15. Dans mon calcul, je souhaiterais calculer uniquement le temps travaillé et exclure les temps non travaillé. Cela peut s'étendre sur 2 à 3 jours ce qui multiplie ce temps de repos.

Merci pour votre implication !

re

re,

avec une fonction personnalisée, attention les jours fériés sont (temporairement) ceux dans le tableau "tabel2"

Function Patrice(Date1 As Double, Date2 As Double, TF As Range, Horaires As Range)
     Dim aHoraires: aHoraires = Horaires.Value2
     If Date1 = 0 Or Date2 = 0 Then x = "Erreur données": GoTo FIN

     If WorksheetFunction.WorkDay_Intl(Date1 - 1, 1, 1, TF) <> Int(Date1) Or Date1 - Int(Date1) > aHoraires(2, 1) Then     'jour est weekend ou jour férié ou heure est après fin du jour
          Date1 = WorksheetFunction.WorkDay_Intl(Date1, 1, 1, TF) + aHoraires(1, 1)     'premier jour ouvrable au début
     Else
          Date1 = Application.Max(Date1, Int(Date1) + aHoraires(1, 1)) 'minimum = début du jour
     End If

     If WorksheetFunction.WorkDay_Intl(Date2 - 1, 1, 1, TF) <> Int(Date2) Or Date1 - Int(Date1) < aHoraires(1, 1) Then 'jour est weekend ou jour férié ou heure est avant début du jour
          Date2 = WorksheetFunction.WorkDay_Intl(Date2, -1, 1, TF) + aHoraires(2, 1) 'jour ouvrable précédent au fin de ce jour
     Else
          Date2 = Application.Min(Date2, Int(Date2) + aHoraires(2, 1)) 'max = fin du jour
     End If

     If Date1 >= Date2 Then x = 0: GoTo FIN

     x = (WorksheetFunction.NetworkDays_Intl(Date1, Date2, 1, TF) - 1) * (aHoraires(2, 1) - aHoraires(1, 1)) + Date2 - Date1 - (Int(Date2) - Int(Date1))
FIN:
     Patrice = x
End Function
22test-4-1.xlsb (215.44 Ko)

Bonjour BsAlv,

Merci beaucoup pour cette solution ! c'est parfait.

Certe un peu compliqué à reproduire mais parfaite !

je te remercie !

Rechercher des sujets similaires à "calcul temps entre dates"