Il suffit de saisir une durée en seconde et hop!
Gestion de l'affichage d'un 0 si les secondes ou les minutes sont < 10
Source / Exemple :
Function CalcDuree(TpsSec As Long) As String
Dim DurHeur As Long
Dim DurMin As Long
Dim DurSec As Long
'Saisie du temps en secondes
tps = InputBox("entrer un nombre de secondes")
'Détermine les heures
DurHeur = Round(TpsSec / 3600)
If (TpsSec Mod 3600) >= 1800 Then
DurHeur = DurHeur - 1
End If
'Détermine les minutes
DurMin = Round(TpsSec / 60) - DurHeur * 60
If (TpsSec Mod 60) >= 30 Then
DurMin = DurMin - 1
End If
'Détermine les secondes
DurSec = TpsSec - DurMin * 60 - DurHeur * 3600
'Ajoute un 0 devant les secondes et les minutes inférieures à 10
If (DurMin < 10 And DurSec < 10) Then
CalcDuree = DurHeur & ":0" & DurMin & ":0" & DurSec
ElseIf (DurMin >= 10 And DurSec < 10) Then
CalcDuree = DurHeur & ":" & DurMin & ":0" & DurSec
ElseIf (DurMin < 10 And DurSec >= 10) Then
CalcDuree = DurHeur & ":0" & DurMin & ":" & DurSec
Else
CalcDuree = DurHeur & ":" & DurMin & ":" & DurSec
End If
'Affichage du résultat
MsgBox "Durée = " & CalcDuree
End Function
Conclusion :
Fonctionne pour tous les cas de figure dans la limite du raisonnable!!!
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.