Temps écoulé en Heures/minutes/secondes

[Résolu/Fermé]
Signaler
-
Messages postés
107
Date d'inscription
dimanche 10 novembre 2013
Statut
Membre
Dernière intervention
29 décembre 2020
-
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

Messages postés
33509
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 septembre 2021
3 723
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

Utilisateur anonyme
Bonjour

ou plus simplement
H = Dif \ 3600 ' nb Heures
M = (Dif Mod 3600) \ 60 ' nb Minutes
S = Dif Mod 60 ' Nb secondes
Messages postés
107
Date d'inscription
dimanche 10 novembre 2013
Statut
Membre
Dernière intervention
29 décembre 2020

Bonjour
Merci beaucoup pour votre soutien.
Ca fonctionne du tonerre!

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