Temps écoulé en Heures/minutes/secondes

Résolu
sormick -  
Sormick Messages postés 146 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je souhaiterais créer un compteur qui me dit le temps écoulé entre deux temps:
le premier est stocké dans:
Sheets("macros").Range("A157") = Now()
le code que j'ai ci-dessous me permet de récupérer le temps écoulé mais seulement
en Heures/Minutes
Le voici:

Dim elapsedmins As Long
Dim elapsedhours As Long
elapsedmins = FormatNumber(DateDiff("n", Sheets("macros").Range("a157").Value, Format(Now(), "hh:mm:ss")))
elapsedhours = Int(elapsedmins / 60)
elapsedmins = elapsedmins - elapsedhours * 60

msgbox elapsedhours & ":" & elapsedmins


Je souhaiterais qu'il m'affiche le temps écoulé en Heures:Minutes:Secondes!!


2 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

Pour commencer ... DateDiff("n" ..; retourne le nombre de MINUTES.
Pour avoir les secondes ... il faut utiliser "s"

Ensuite.. tu peux faire les calculs d'heures /Minutes / Secondes...
Sub toto()

Dim celVal As Date
Dim mnt As Date
mnt = Now()
celVal = CDate(Range("a1").Value)

Dif = DateDiff("s", celVal, mnt) ' diff en secondes
H = Int(Dif / 3600) ' nb Heures
M = Int((Dif Mod 3600) / 60) ' nb Minutes
S = (((Dif Mod 3600) / 60) Mod 60) ' Nb secondes
res = CDate(H & ":" & M & ":" & S)

Debug.Print "NOW : " & mnt & " cellule : " & celVal
Debug.Print "DIF (hh:mm:ss) : " & res


End Sub

0
Utilisateur anonyme
 
Bonjour

ou plus simplement
H = Dif \ 3600 ' nb Heures
M = (Dif Mod 3600) \ 60 ' nb Minutes
S = Dif Mod 60 ' Nb secondes
0
Sormick Messages postés 146 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour
Merci beaucoup pour votre soutien.
Ca fonctionne du tonerre!

Bonne année à toute l'équipe de CCM!
0