Fonction TimeValue

Calcule une valeur horaire au format sériel à partir des paramètres heures, minutes et secondes transmis en tant que chaînes de caractères pour représenter l'heure sous forme de valeur numérique unique. Vous pouvez utiliser cette valeur pour calculer la différence entre deux heures.

Syntaxe :

TimeValue (Text As String)

Valeur de retour :

Date

Paramètres :

Text : toute expression au format chaîne de caractères contenant l'heure à calculer, au format "HH:MM:SS".

Avec cette fonction, vous pouvez convertir toute valeur horaire en une valeur unique vous permettant de calculer les différences entre les heures.

La fonction TimeValue renvoie le type de données variant avec le type VarType 7 (Date), et stocke cette valeur en interne en tant que nombre double précision compris entre 0 et 0,9999999999.

Contrairement à la fonction DateSerial ou DateValue, où les valeurs de date sérielles sont exprimées en jours par rapport à une date fixe, vous pouvez effectuer des calculs basés sur les valeurs renvoyées par la fonction TimeValue, mais vous ne pouvez pas les évaluer.

Vous pouvez, dans la fonction TimeSerial, transmettre des paramètres individuels (heures, minutes, secondes) en tant qu'expressions numériques distinctes. En revanche, la fonction TimeValue vous permet de transmettre une chaîne de caractères en tant que paramètre contenant l'heure.

Codes d'erreur :

5 appel de procédure incorrect

13 le type de données ne correspond pas

Exemple :

Sub ExampleTimerValue

Dim daDT As Date

Dim a1, b1, c1, a2, b2, c2 As String

    a1 = "heure de début"

    b1 = "heure de fin"

    c1 = "temps écoulé"

    a2 = "8:34"

    b2 = "18:12"

    daDT = TimeValue(b2) - TimeValue(a2)

    c2 = a1 & ": " & a2 & chr(13)

    c2 = c2 & b1 & ": " & b2 & chr(13)

    c2 = c2 & c1 & ": " & trim(Str(Hour(daDT))) & ":" & trim(Str(Minute(daDT))) & ":" & trim(Str(Second(daDT)))

    MsgBox c2

End Sub