séparer heures et minutes
Bonjour,
Je dois additionner des heures et minutes, les convertir en décimales pour ensuite les multiplier par un taux horaire.
Nombre d'heures travaillées dans une journée X nombre de jours X taux horaire = 00,00$
exemple : 8:30 + 10:15 + 5:30 = 24:15 (soit 24heures et 15 minutes)X 23,00$ = 557,75$
Existe-t-il une formule VBA Access simple ???
Merci
séparer heures et minutes
Salut,
Pour les besoins d'une appli, j'avais élaboré ces fonctions qui convertissent des heures/minutes en centièmes ou inversement ce qui permet de faire des opérations en base 10 sur les chiffres obtenus:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| Function ConvH2Centi(H)
Dim PEnt As Integer, PEntM As Integer, PEntS As Integer, PDimM As Double, PDimS As Double
'H
PEnt = Int(Val(Left(H, 2)))
'mn
PEntM = Int(Mid(H, 4, 2))
PDimM = (PEntM / 60)
's
If Len(H) > 5 Then
PEntS = Int(Mid(H, 7, 2))
PDimS = (PEntS / 60) / 60
End If
ConvH2Centi = CDbl(PEnt + PDimM + PDimS)
End Function |
...Conversion en HH -> Centièmes
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| Function ConvCenti2H(Centi)
Dim PEnt As Long, PDimM As Double, PEntM As Long, PDimS As Double, PEntS As Long
If Nz(Centi, 0) = 0 Then
ConvCenti2H = "00:00:00"
Exit Function
End If
'H
PEnt = Int(Centi)
'Mn
PDimM = Centi - PEnt
PDimM = Int((PDimM) * 60)
'S
PDimS = (Centi * 3600) - (PEnt * 3600) - (PDimM * 60)
ConvCenti2H = Format(PEnt, "#00") & ":" & Format(PDimM, "00") & ":" & Format(PDimS, "00")
End Function |
...Conversion Centièmes -> Heures
Code:
1 2 3 4 5 6
| Function TpsHH2Mn(tps) As Long
TpsHH2Mn = 0
If tps <> 0 Then
TpsHH2Mn = (Format(tps, "hh") * 60) + Format(tps, "nn")
End If
End Function |
...Conversion HH:NN -> Minutes
et
Code:
1 2 3 4 5 6 7 8 9
| Function TpsDiffTxt(tps As Long) As String
Dim H As String, mn As String
Dim Hl As Long, mnl As Double
Hl = Int(tps / 60)
mnl = tps Mod 60
H = Format(Trim(str(Hl)), "00")
mn = Format(Trim(str(mnl)), "00")
TpsDiffTxt = H & ":" & mn
End Function |
...Conversion Minutes -> HH:NN
Si çà répond à ton besoin...