Temps écoulé en Heures/minutes/secondes

Résolu
sormick -  
Sormick Messages postés 163 Statut Membre -
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

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    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
    1. 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
  2. Sormick Messages postés 163 Statut Membre
     
    Bonjour
    Merci beaucoup pour votre soutien.
    Ca fonctionne du tonerre!

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