Calcul temps entre deux bornes date/heure

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
3stone
Le #6717711
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)
Fabien
Le #6717701
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
@+

Jed
Le #6717691
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)




Jed
Le #6717681
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
@+




RaphK34
Le #6718721
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"
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




Jed
Le #6721641
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"
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









Publicité
Poster une réponse
Anonyme