Conversion d'un temps en secondes au format hh:mm:ss

Contenu du snippet

Ce code est une version largement plus facile à comprendre et plus court que celui CodeCodeCodac ;-)
Attention, le nombre de secondes doit être inférieur à 86400 (=1 jour) et ne doit pas être décimal(pas de virgule).
De plus, le nombre de secondes pris en compte dans une journée est 86400 et pas 86459,178082191...(jour naturel).

Source / Exemple :


Dim TempsTotal as long     'TempsTotal est le temps en secondes
Dim Heures as Integer
Dim Minutes as Integer
Dim Secondes as Integer

Sub Conversion(TempsTotal)
	Heures = Int(TempsTotal / 3600)
	Minutes = Int((TempsTotal - 3600 * Heure) / 60)
	Secondes = TempsTotal - 3600 * Heures - 60 * Minutes
	Msgbox (Format(Str(Heures + ":" + Minutes + ":" + Secondes))) 'là, on a le temps formaté hh:mm:ss
	'Format sert à afficher 2 chiffres pour les heures, les minutes et les secondes
	'Exemple: avec Format: 08:05:23
	'         sans Format: 8:5:23
End Sub

'La même formule en une seule ligne (pas la peine de déclarer les variables Heures, Minutes et Secondes):
'MsgBox (Format(Str(Int(TempsTotal / 3600)) + ":" + Str(Int((TempsTotal - 3600 * (Int(TempsTotal / 3600))) / 60)) + ":" + Str(TempsTotal - 3600 * (Int(TempsTotal / 3600)) - 60 * (Int((TempsTotal - 3600 * (Int(TempsTotal / 3600))) / 60))), "ttttt"))

Conclusion :


Si ce code comportait des bugs, merci de me le signaler

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.