XL 2016 Avoir un résultat en heure eminute

filouplatchaud

XLDnaute Occasionnel
bonsoir le forum, salut Brigitte

en A1 j'ai l'heure d’arrivé de mes salaries le matin
en B1 l'heure de départ
en C1 l'heure d’arrivé après midi
en D1 l'heure départ
en E1 je calcule l’heure travaillé dans la journée =B1-A1+D1-C1
les salariés remplisse leur feuille a la main 10h00 13h30 19h00 21h15
mais aussi 10h05 13h40 19h00 21h55
est il possible d'avoir un resultat en heure minute
 

Hieu

XLDnaute Impliqué
Salut,
Il est difficile de sommer des textes.
Une idée, en créant des fonctions personnalisées :
VB:
Function sommetemps(a As String, b As String) As String
    Dim temps(1 To 2) As String
    Dim h(1 To 2) As Integer
    Dim min(1 To 2) As Integer
temps(1) = a
temps(2) = b

For i = 1 To 2
    h(i) = Mid(temps(i), 1, InStr(temps(i), "h") - 1)
    min(i) = Mid(temps(i), InStr(temps(i), "h") + 1)
Next i

minut = (min(1) + min(2)) Mod 60
heure = h(1) + h(2) + (min(1) + min(2)) \ 60
sommetemps = heure & "h" & minut
End Function
Function difftemps(a As String, b As String) As String
    Dim temps(1 To 2) As String
    Dim h(1 To 2) As Integer
    Dim min(1 To 2) As Integer
temps(1) = a
temps(2) = b

For i = 1 To 2
    h(i) = Mid(temps(i), 1, InStr(temps(i), "h") - 1)
    min(i) = Mid(temps(i), InStr(temps(i), "h") + 1)
Next i

Select Case min(1) - min(2)
    Case Is > 0
        minut = min(1) - min(2)
        heure = h(1) - h(2)
    Case Is < 0
        minut = min(1) - min(2) + 60
        heure = h(1) - h(2) - 1
End Select
difftemps = heure & "h" & minut
End Function

Edit : pas vu JCGL / Bien joué ! Je n'connaissais pas substitue !
 

Pièces jointes

  • calcul_temps_v0.xlsm
    16.2 KB · Affichages: 35

Discussions similaires

Statistiques des forums

Discussions
312 316
Messages
2 087 182
Membres
103 491
dernier inscrit
bilg1