Public Heu_Deb#
Public Heu_Cal#
Function Temps_Ecoule$()
    'Fonction Temps_Ecoule V1.0 By Bernard_XLD, Excel toutes versions (non testé sur Mac)
    'reporte le temps écoulé pendant l'exécution d'un code
    'pour démarrer un décompte de temps, inscrire dans le code de la procédure "Heu_Deb = Timer"
    'pour soustraire une interruption dans une exécution de code (validation utilisateur, etc), mettre avant l'interruption : "Heu_Cal=Timer" et après l'interruption : "Heu_Deb = Heu_Deb + (Timer - Heu_Cal)"
    'l'appel de la fonction sans paramètre donnera le temps écoulé entre Heu_Deb et Heu_Fin, Msgbox "Temps écoulé : " & Temps_Ecoule
    Dim Heu_Fin#
    Dim Temps_Exe(1 To 4) As Integer
    Heu_Fin = Timer - Heu_Deb
    If Heu_Fin < 0 Then Heu_Fin = Heu_Fin + 86400
    Temps_Exe(1) = Fix(Heu_Fin / 3600)
    Temps_Exe(2) = Fix((Heu_Fin - (Temps_Exe(1) * 3600)) / 60)
    Temps_Exe(3) = Fix(Heu_Fin - ((Temps_Exe(1) * 3600) + (Temps_Exe(2) * 60)))
    Temps_Exe(4) = CInt((Heu_Fin - Fix(Heu_Fin)) * 100)
    If Temps_Exe(1) = 0 Then
        If Temps_Exe(2) = 0 Then
            If Temps_Exe(3) = 0 Then
                Temps_Ecoule = Right("0" & Temps_Exe(4), 2) & " centièmes"
            Else
                Temps_Ecoule = Right("0" & Temps_Exe(3), 2) & " secondes, " & Right("0" & Temps_Exe(4), 2) & " centièmes"
            End If
        Else
            Temps_Ecoule = Right("0" & Temps_Exe(2), 2) & " minutes, " & Right("0" & Temps_Exe(3), 2) & " secondes, " & Right("0" & Temps_Exe(4), 2) & " centièmes"
        End If
    Else
        Temps_Ecoule = Right("0" & Temps_Exe(1), 2) & " heures, " & Right("0" & Temps_Exe(2), 2) & " minutes, " & Right("0" & Temps_Exe(3), 2) & " secondes, " & Right("0" & Temps_Exe(4), 2) & " centièmes"
    End If
End Function