Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Calcul temps entre deux bornes date/heure

6 réponses
Avatar
Jed
Bonjour à tous,
Voici un bout de mon code que j'essaie d'utiliser pour calculer le temps
passé entre 2 bornes Date/heure mais je galère un peu ...

==========
Dim DebDateEnreg As Variant
Dim DebHeureEnreg As Variant
Dim DebDateExec As Variant
Dim DebHeureExec As Variant
Dim X As Variant
Dim Y As Variant
Dim Z As Variant

If Me.etat = "OK" Or Me.etat = "KO" Then
Me.date_execution.Value = Date
Me.HeureExec.Value = Time
End If

DebDateEnreg = Me.date_enregistrement.Value
DebHeureEnreg = Me.Heure_Enreg.Value

DebDateExec = Me.date_execution.Value
DebHeureExec = Me.HeureExec.Value


X = (DebDateEnreg & " " & DebHeureEnreg)
Y = (DebDateExec & " " & DebHeureExec)

A ce stade j'ai X = "26/05/2008 16:04:52" et Y = "27/05/2008 15:22:58"
Comment je peux faire pour calculer le temps en h:m:s passé entre ces deux
valeurs?

J'ai vu un article microsoft ici :
http://support.microsoft.com/default.aspx?scid=kb;fr;88657
mais je n'ai pas pu l'adapter à mon problème . Il parle de "interval" dont
je ne connais pas le format.
QQ peut il m'aider ??
Merci

Jed

6 réponses

Avatar
3stone
Salut,

"Jed"
| Voici un bout de mon code que j'essaie d'utiliser pour calculer le temps
| passé entre 2 bornes Date/heure mais je galère un peu ...
|
| ========= | Dim DebDateEnreg As Variant
| Dim DebHeureEnreg As Variant
| Dim DebDateExec As Variant
| Dim DebHeureExec As Variant
| Dim X As Variant
| Dim Y As Variant
| Dim Z As Variant
|
| If Me.etat = "OK" Or Me.etat = "KO" Then
| Me.date_execution.Value = Date
| Me.HeureExec.Value = Time
| End If
|
| DebDateEnreg = Me.date_enregistrement.Value
| DebHeureEnreg = Me.Heure_Enreg.Value
|
| DebDateExec = Me.date_execution.Value
| DebHeureExec = Me.HeureExec.Value
|
|
| X = (DebDateEnreg & " " & DebHeureEnreg)
| Y = (DebDateExec & " " & DebHeureExec)
|
| A ce stade j'ai X = "26/05/2008 16:04:52" et Y = "27/05/2008 15:22:58"
| Comment je peux faire pour calculer le temps en h:m:s passé entre ces deux
| valeurs?


Pour calculer l'intervale entre deux instants, utiliser la fonction d'Access DateDiff()

a = #05/26/2008 16:04:52#
b = #05/26/2008 15:22:58#

Debug.Print DateDiff("s",a,b)

Le premier paramètre, ici "s" pour secondes indique l'unité utilisée, mais peut
être des "n" minutes, "h" heures, "d" jours, "m" mois etc...
Il reste alors à convertir cela au format souhaité.

Une bonne adresse pour tous les calculs de temps :
http://homepage.bluewin.ch/wstucki//CalculsDates.htm

Attention... dans le VBA, on manipule les dates au format US !

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
Fabien
Bonjour à tous,
Voici un bout de mon code que j'essaie d'utiliser pour calculer le temps
passé entre 2 bornes Date/heure mais je galère un peu ...

========= > Dim DebDateEnreg As Variant
Dim DebHeureEnreg As Variant
Dim DebDateExec As Variant
Dim DebHeureExec As Variant
Dim X As Variant
Dim Y As Variant
Dim Z As Variant

If Me.etat = "OK" Or Me.etat = "KO" Then
Me.date_execution.Value = Date
Me.HeureExec.Value = Time
End If

DebDateEnreg = Me.date_enregistrement.Value
DebHeureEnreg = Me.Heure_Enreg.Value

DebDateExec = Me.date_execution.Value
DebHeureExec = Me.HeureExec.Value


X = (DebDateEnreg & " " & DebHeureEnreg)
Y = (DebDateExec & " " & DebHeureExec)

A ce stade j'ai X = "26/05/2008 16:04:52" et Y = "27/05/2008 15:22:58"
Comment je peux faire pour calculer le temps en h:m:s passé entre ces deux
valeurs?

J'ai vu un article microsoft ici :
http://support.microsoft.com/default.aspx?scid=kb;fr;88657
mais je n'ai pas pu l'adapter à mon problème . Il parle de "interval" dont
je ne connais pas le format.
QQ peut il m'aider ??
Merci

Jed

Salut

la fonction datediff("s",date1,date2) te donnes l'ecart en seconde entre
deux dates
c'est ensuite simple de convertir en h:m:s
@+

Avatar
Jed
Merci 3stone,

Je trouve effectivement un nombre avec
DateDiff("s",a,b)

Mais comment le formater pour trouver la durée quand c'est plus d'un jour

Exemple : 20/05/2008 11:22:55 et 27/05/2008 10:22:33

Bref comment transformer les secondes en dd hh mm ss

Je vais jeter un coup d'oeil sur le lien.

Merci pour ta reponse


Salut,

"Jed"
| Voici un bout de mon code que j'essaie d'utiliser pour calculer le temps
| passé entre 2 bornes Date/heure mais je galère un peu ...
|
| ========= > | Dim DebDateEnreg As Variant
| Dim DebHeureEnreg As Variant
| Dim DebDateExec As Variant
| Dim DebHeureExec As Variant
| Dim X As Variant
| Dim Y As Variant
| Dim Z As Variant
|
| If Me.etat = "OK" Or Me.etat = "KO" Then
| Me.date_execution.Value = Date
| Me.HeureExec.Value = Time
| End If
|
| DebDateEnreg = Me.date_enregistrement.Value
| DebHeureEnreg = Me.Heure_Enreg.Value
|
| DebDateExec = Me.date_execution.Value
| DebHeureExec = Me.HeureExec.Value
|
|
| X = (DebDateEnreg & " " & DebHeureEnreg)
| Y = (DebDateExec & " " & DebHeureExec)
|
| A ce stade j'ai X = "26/05/2008 16:04:52" et Y = "27/05/2008 15:22:58"
| Comment je peux faire pour calculer le temps en h:m:s passé entre ces deux
| valeurs?


Pour calculer l'intervale entre deux instants, utiliser la fonction d'Access DateDiff()

a = #05/26/2008 16:04:52#
b = #05/26/2008 15:22:58#

Debug.Print DateDiff("s",a,b)

Le premier paramètre, ici "s" pour secondes indique l'unité utilisée, mais peut
être des "n" minutes, "h" heures, "d" jours, "m" mois etc...
Il reste alors à convertir cela au format souhaité.

Une bonne adresse pour tous les calculs de temps :
http://homepage.bluewin.ch/wstucki//CalculsDates.htm

Attention... dans le VBA, on manipule les dates au format US !

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)




Avatar
Jed
Merci Fabien
Comme j'ai dis a 3stones,

J'ai trouve un nombre mais maintenant je cale pour le formater en dd hh mm
ss quand ca depasse un jour .

Merci de votre aide.



Bonjour à tous,
Voici un bout de mon code que j'essaie d'utiliser pour calculer le temps
passé entre 2 bornes Date/heure mais je galère un peu ...

========= > > Dim DebDateEnreg As Variant
Dim DebHeureEnreg As Variant
Dim DebDateExec As Variant
Dim DebHeureExec As Variant
Dim X As Variant
Dim Y As Variant
Dim Z As Variant

If Me.etat = "OK" Or Me.etat = "KO" Then
Me.date_execution.Value = Date
Me.HeureExec.Value = Time
End If

DebDateEnreg = Me.date_enregistrement.Value
DebHeureEnreg = Me.Heure_Enreg.Value

DebDateExec = Me.date_execution.Value
DebHeureExec = Me.HeureExec.Value


X = (DebDateEnreg & " " & DebHeureEnreg)
Y = (DebDateExec & " " & DebHeureExec)

A ce stade j'ai X = "26/05/2008 16:04:52" et Y = "27/05/2008 15:22:58"
Comment je peux faire pour calculer le temps en h:m:s passé entre ces deux
valeurs?

J'ai vu un article microsoft ici :
http://support.microsoft.com/default.aspx?scid=kb;fr;88657
mais je n'ai pas pu l'adapter à mon problème . Il parle de "interval" dont
je ne connais pas le format.
QQ peut il m'aider ??
Merci

Jed

Salut

la fonction datediff("s",date1,date2) te donnes l'ecart en seconde entre
deux dates
c'est ensuite simple de convertir en h:m:s
@+




Avatar
RaphK34
Salut,
perso j'utiliserai
delai= datediff ("d",y,x)) & " Jours " & format(abs(y-x),"h heure n
minutes")"

--
@+ Raph.

--------------------------------------------
Merci de répondre sur le NG
Toutes remarques bienvenues !
--------------------------------------------
"Jed" a écrit dans le message de news:

Bonjour à tous,
Voici un bout de mon code que j'essaie d'utiliser pour calculer le temps
passé entre 2 bornes Date/heure mais je galère un peu ...

========= > Dim DebDateEnreg As Variant
Dim DebHeureEnreg As Variant
Dim DebDateExec As Variant
Dim DebHeureExec As Variant
Dim X As Variant
Dim Y As Variant
Dim Z As Variant

If Me.etat = "OK" Or Me.etat = "KO" Then
Me.date_execution.Value = Date
Me.HeureExec.Value = Time
End If

DebDateEnreg = Me.date_enregistrement.Value
DebHeureEnreg = Me.Heure_Enreg.Value

DebDateExec = Me.date_execution.Value
DebHeureExec = Me.HeureExec.Value


X = (DebDateEnreg & " " & DebHeureEnreg)
Y = (DebDateExec & " " & DebHeureExec)

A ce stade j'ai X = "26/05/2008 16:04:52" et Y = "27/05/2008 15:22:58"
Comment je peux faire pour calculer le temps en h:m:s passé entre ces deux
valeurs?

J'ai vu un article microsoft ici :
http://support.microsoft.com/default.aspx?scid=kb;fr;88657
mais je n'ai pas pu l'adapter à mon problème . Il parle de "interval"
dont
je ne connais pas le format.
QQ peut il m'aider ??
Merci

Jed




Avatar
Jed
Bonnjour RaphK34,
Merci pour ta réponse
Maintenant je vais pouvoir formatter mes delais comme je veux.
Merci à tous

Cordialement.
Jed


Salut,
perso j'utiliserai
delai= datediff ("d",y,x)) & " Jours " & format(abs(y-x),"h heure n
minutes")"

--
@+ Raph.

--------------------------------------------
Merci de répondre sur le NG
Toutes remarques bienvenues !
--------------------------------------------
"Jed" a écrit dans le message de news:

Bonjour à tous,
Voici un bout de mon code que j'essaie d'utiliser pour calculer le temps
passé entre 2 bornes Date/heure mais je galère un peu ...

========= > > Dim DebDateEnreg As Variant
Dim DebHeureEnreg As Variant
Dim DebDateExec As Variant
Dim DebHeureExec As Variant
Dim X As Variant
Dim Y As Variant
Dim Z As Variant

If Me.etat = "OK" Or Me.etat = "KO" Then
Me.date_execution.Value = Date
Me.HeureExec.Value = Time
End If

DebDateEnreg = Me.date_enregistrement.Value
DebHeureEnreg = Me.Heure_Enreg.Value

DebDateExec = Me.date_execution.Value
DebHeureExec = Me.HeureExec.Value


X = (DebDateEnreg & " " & DebHeureEnreg)
Y = (DebDateExec & " " & DebHeureExec)

A ce stade j'ai X = "26/05/2008 16:04:52" et Y = "27/05/2008 15:22:58"
Comment je peux faire pour calculer le temps en h:m:s passé entre ces deux
valeurs?

J'ai vu un article microsoft ici :
http://support.microsoft.com/default.aspx?scid=kb;fr;88657
mais je n'ai pas pu l'adapter à mon problème . Il parle de "interval"
dont
je ne connais pas le format.
QQ peut il m'aider ??
Merci

Jed