OVH Cloud OVH Cloud

calcul de temps écoulé

4 réponses
Avatar
lou
bonjour
besoin d aide pour résoudre ce probleme

j'ai 3 champs au format heure,abregé
1)heure de départ
2)heure arrivée
3)total en heures et minutes
ex:
départ 10:37 arrivée 12:03
je voudrais afficher dans 3eme champ disons(x)
le temps écoulé y a t-il une formule ou un bout de code pour faire cela
merci de votre aide

ps: un autre probleme se pose ex

départ 23:37 arrivée 01:03 (du matin) que faire dans ce cas
??????merci de votre aide
lou

4 réponses

Avatar
Jacques93
Bonjour lou,
lou a écrit :
bonjour
besoin d aide pour résoudre ce probleme

j'ai 3 champs au format heure,abregé
1)heure de départ
2)heure arrivée
3)total en heures et minutes
ex:
départ 10:37 arrivée 12:03
je voudrais afficher dans 3eme champ disons(x)
le temps écoulé y a t-il une formule ou un bout de code pour faire cela
merci de votre aide

ps: un autre probleme se pose ex

départ 23:37 arrivée 01:03 (du matin) que faire dans ce cas
??????merci de votre aide
lou



Un procédure VBA Excel de Frédéric Sigonneau que tu devrais pouvoir
adapter :

http://www.excelabo.net/xl/dates.php#tempsécoulé

--
Cordialement,

Jacques.
Avatar
Aski
Salutatoi Jacques93,

Tu as donc déclaré :

Bonjour lou,
lou a écrit :
bonjour
besoin d aide pour résoudre ce probleme

j'ai 3 champs au format heure,abregé
1)heure de départ
2)heure arrivée
3)total en heures et minutes
ex:
départ 10:37 arrivée 12:03
je voudrais afficher dans 3eme champ disons(x)
le temps écoulé y a t-il une formule ou un bout de code pour faire
cela merci de votre aide

ps: un autre probleme se pose ex

départ 23:37 arrivée 01:03 (du matin) que faire dans ce cas
??????merci de votre aide
lou



Un procédure VBA Excel de Frédéric Sigonneau que tu devrais pouvoir
adapter :

http://www.excelabo.net/xl/dates.php#tempsécoulé



Je donne également une fonction que j'ai écrite récemment et qui utilise
notamment DateAdd et la conversion CDate

--
Cordialement

Aski

/////////////////////////////
Private Function AdjustDateOE(iMsg As Long, MinSec As String) As String
Dim Delta1 As Single, Delta2 As Single, Delta3 As Single
Dim DateHour As String, NewDate As String
On Error GoTo Erreur

'extraire les jour, mois, année et heure de la date ArrayMsg(iMsg).Time
DateHour = Left$(ArrayMsg(iMsg).Time, 14)

'combiner les 2 éléments de la date
NewDate = DateHour & MinSec

'rechercher, sans décalage ou par décalage d'une heure avant et après, le
temps le plus proche de ArrayMsg(iMsg).Time
Delta1 = Abs(CDate(NewDate) - CDate(ArrayMsg(iMsg).Time))
Delta2 = Abs(DateAdd("h", 1, CDate(NewDate)) - CDate(ArrayMsg(iMsg).Time))
'ajouter 1 h
Delta3 = Abs(CDate(NewDate) - DateAdd("h", 1, CDate(ArrayMsg(iMsg).Time)))
'retrancher 2 h
If Delta2 < Delta1 And Delta2 < Delta3 Then
NewDate = DateAdd("h", 1, NewDate)
ElseIf Delta3 < Delta1 And Delta3 < Delta2 Then
NewDate = DateAdd("h", -1, NewDate)
End If

AdjustDateOE = NewDate

Exit Function
Erreur:
MsgBox Error, , "AdjustDateOE"
AdjustDateOE = ArrayMsg(iMsg).Time
'Resume Next
End Function
Avatar
lou
UN GRAND MERCI A VOUS DEUX
LOU

"Aski" a écrit dans le message de news:

Salutatoi Jacques93,

Tu as donc déclaré :

> Bonjour lou,
> lou a écrit :
>> bonjour
>> besoin d aide pour résoudre ce probleme
>>
>> j'ai 3 champs au format heure,abregé
>> 1)heure de départ
>> 2)heure arrivée
>> 3)total en heures et minutes
>> ex:
>> départ 10:37 arrivée 12:03
>> je voudrais afficher dans 3eme champ disons(x)
>> le temps écoulé y a t-il une formule ou un bout de code pour faire
>> cela merci de votre aide
>>
>> ps: un autre probleme se pose ex
>>
>> départ 23:37 arrivée 01:03 (du matin) que faire dans ce cas
>> ??????merci de votre aide
>> lou
>
> Un procédure VBA Excel de Frédéric Sigonneau que tu devrais pouvoir
> adapter :
>
> http://www.excelabo.net/xl/dates.php#tempsécoulé

Je donne également une fonction que j'ai écrite récemment et qui utilise
notamment DateAdd et la conversion CDate

--
Cordialement

Aski

/////////////////////////////
Private Function AdjustDateOE(iMsg As Long, MinSec As String) As String
Dim Delta1 As Single, Delta2 As Single, Delta3 As Single
Dim DateHour As String, NewDate As String
On Error GoTo Erreur

'extraire les jour, mois, année et heure de la date ArrayMsg(iMsg).Time
DateHour = Left$(ArrayMsg(iMsg).Time, 14)

'combiner les 2 éléments de la date
NewDate = DateHour & MinSec

'rechercher, sans décalage ou par décalage d'une heure avant et après,


le
temps le plus proche de ArrayMsg(iMsg).Time
Delta1 = Abs(CDate(NewDate) - CDate(ArrayMsg(iMsg).Time))
Delta2 = Abs(DateAdd("h", 1, CDate(NewDate)) -


CDate(ArrayMsg(iMsg).Time))
'ajouter 1 h
Delta3 = Abs(CDate(NewDate) - DateAdd("h", 1,


CDate(ArrayMsg(iMsg).Time)))
'retrancher 2 h
If Delta2 < Delta1 And Delta2 < Delta3 Then
NewDate = DateAdd("h", 1, NewDate)
ElseIf Delta3 < Delta1 And Delta3 < Delta2 Then
NewDate = DateAdd("h", -1, NewDate)
End If

AdjustDateOE = NewDate

Exit Function
Erreur:
MsgBox Error, , "AdjustDateOE"
AdjustDateOE = ArrayMsg(iMsg).Time
'Resume Next
End Function





Avatar
Aski
Salutatoi lou,

Tu as donc déclaré :

UN GRAND MERCI A VOUS DEUX
LOU



De rien.
Nos exemples on-ils pu t'aider ?
--
Aski