Format date :résultat d'une différence de date en minute et seconde

Résolu
xpmich Messages postés 62 Date d'inscription lundi 29 novembre 2004 Statut Membre Dernière intervention 11 mars 2010 - 15 mai 2008 à 11:28
Kevin.Ory Messages postés 840 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 7 janvier 2009 - 16 mai 2008 à 03:39
Bonjour,
Après multiples recherches, je n'ai malheuresement pas trouvé mon bonheur sur le sujet.
Je cherche à avoir un format de date en minute:seconde soit "mm:ss"
Explication :
J'ai deux dates malheuresement au format "jour heure:minute:seconde", soit "jj/mm/aaaa hh:mm:ss". A ces deux dates, je désire en réaliser la différence. Je sais que cette différence ne sera pas suppérieur à 60 minutes, c'est pourquoi je voudrais le résultat en mm:ss.
J'ai cependant trouver une parade mais le résultat est une chaine de caractère et non un format date. La conversion au format date me donne des heures et non des minutes (décalage)
voici le code :

Dim heure1
As
Date

Dim heure2
As
Date

Dim resultat
As
Date

Dim inter1
As
Integer

Dim resultString
As
String

Dim difference
As
Longheure1 =

CDate(
"12/05/2008 12:10:0")heure2 =

CDate(
"12/05/2008 12:25:25")difference = DateAndTime.DateDiff(DateInterval.Second, heure1, heure2)

'le résultat ne dépasse pas une heureinter1 = difference \ 60

difference = difference - (inter1 * 60)

resultat =

CDate(
"00:" &
CStr(inter1) &
":" & CStr(difference))resultString CStr(resultat)resultat Format(resultat,

"mm:ss")MsgBox(resultString & vbTab &

CStr(resultat))

Affichage : 00:15:25   15:25:00
Hic : si le temps d'écart est supérieur à 24minutes.
Je pense qu'il y a beacoup plus simple et c'est pourquoi je m'adresse à vous.
En entrée : deux dates (le format de ces dates peut être changer)
En sortie :  la différence de ces dates au format date("minutes:secondes")

Merci d'avance, Cordialement,
Xpmich

3 réponses

jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
15 mai 2008 à 11:33
Salut,
Utilises resultat = Format(resultat, "00:mm:ss"
)
Sinon tu peux utliser TimeSerial()
@+: Ju£i?n
Pensez: Réponse acceptée
3
xpmich Messages postés 62 Date d'inscription lundi 29 novembre 2004 Statut Membre Dernière intervention 11 mars 2010
15 mai 2008 à 11:42
je valide ta réponse car les deux choix sont tout à fait correcte. cependant, je préfère le TimeSerial() qui est plus "propre".

Mais je n'ais toujours pas de format date : "mmm:ss" mais "hh:mm:ss" mais je demande peut être l'impossible.
Une solution, passer en string?
Merci d'avance
Xpimch
0
Kevin.Ory Messages postés 840 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 7 janvier 2009 11
16 mai 2008 à 03:39
Salut,



    Dim
heure1

As
Date


    Dim
heure2

As
Date
    Dim Diff As TimeSpan= heure2 - heure1
    MsgBox("La différence est de " & Diff.Minutes & " minutes et " & Diff.Seconds & " secondes.")
0