Temps écoulé en Heures/minutes/secondes

Résolu/Fermé
sormick - 30 déc. 2016 à 13:32
Sormick Messages postés 145 Date d'inscription dimanche 10 novembre 2013 Statut Membre Dernière intervention 8 avril 2024 - 31 déc. 2016 à 09:54
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 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
30 déc. 2016 à 13:57
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
30 déc. 2016 à 22:22
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 145 Date d'inscription dimanche 10 novembre 2013 Statut Membre Dernière intervention 8 avril 2024
31 déc. 2016 à 09:54
Bonjour
Merci beaucoup pour votre soutien.
Ca fonctionne du tonerre!

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