Euh bon comme tu veux
Function Milli2Time(aTime As Long) As String
Dim aTimeSeconde As Long
Dim HH_Float, MM_Float, SS_Float As Double
Dim Heure, Minute, Seconde As Byte
Dim HH_Left, HH_Right, MM_Left, MM_Right, SS_Left, SS_Right As Byte
On Error GoTo ErrHandler
Select Case aTime
´Case 1 To ( 86400000 - 1)
Case 1 To 345600000 ´96 heures : 96:00:00.00
´Conversion des millisecondes en secondes
aTimeSeconde = aTime \ 1000
HH_Float = aTimeSeconde / 3600
Heure = ( aTimeSeconde \ 3600)
HH_Left = Heure \ 10
HH_Right = Heure - ( HH_Left * 10)
MM_Float = ( HH_Float - Heure) * 60
Minute = Int(Round(MM_Float, 2))
MM_Left = Minute \ 10
MM_Right = Minute - ( MM_Left * 10)
SS_Float = ( MM_Float - Minute) * 60
Seconde = Int(Round(SS_Float))
SS_Left = Seconde \ 10
SS_Right = Seconde - ( SS_Left * 10)
´TRANSFORMATION EN HH:MM:SS.CC
Milli2Time = CStr(HH_Left) & CStr(HH_Right) & " :" & _
CStr(MM_Left) & CStr(MM_Right) & " :" & _
CStr(SS_Left) & CStr(SS_Right) & _
" ." + Right$(100 + ( aTime \ 10), 2)
Case 0
´TRANSFORMATION EN HH:MM:SS.CC
Milli2Time = " 00:00:00.00"
Case Else
Milli2Time = -1
End Select
Exit Function
ErrHandler:
Milli2Time = -1
End Function