Différence entre deux heures

Bonjour à vous, après avoir cherché depuis plusieurs semaines , je me décides à demander votre aide;

je dois faire un excel pour mon emploi , qui va calculer la différence entre une heure prévue de fin cycle

et l'heure réelle de fin ; cela fonctionne mais dans certains cas non; pour mieux illustrer mon problème et éviter d'etre trop long ici , je l'ai détaillé dans trois exemple dans le fichier

ci-joint ( ce n'est pas le fichier complet ,mais seulement la partie que j'arrive pas à résoudre) ; il y a beaucoup d'informations sur ce sujet sur internet

mais comme je ne suis pas expert , je n'ai pas réussi . Je vous remercie pour le temps que vous passez à nous aider.

Salut Charles,

essaie ainsi pour ton bouton..

ActiveCell = Format(Now, "hh:mm:ss")


A+

Bonjour,

Une autre ,

Private Sub CommandButton1_Click()
    ActiveCell = FormatDateTime(Time, vbShortTime)
End Sub

Cdlt.

re

bonjour

je te propose une fonction perso qui arrangera ton affaire

dans un module standard

Function CalculeTime(cel1 As Range, cel2 As Range)
    dim th
    Heure1 = TimeValue(cel1.text)
    Heure2 = TimeValue(cel2.text)
    th = Heure1 - Heure2
    'formatage avec la fonction ""Text"" de application
    CalculeTime = Application.text(th, "[hh]:mm:ss")   'les crochets associés a app.text  indiquent que les heures se cumulent au dela de 24 ou se soustraient 
End Function

et dans ta cellule la formule base

=calcultime(A2;D2)

te reste plus qu'a etendre la formule dans tes cellules (peut etre avec une gestion d'erreur si les cellules ne sont pas des temps)

la gestion d'erreur pour les non date peut se faire directement dans la fonction comme ceci

Function CalculeTime(cel1 As Range, cel2 As Range)
    CalculeTime = ""
    If Not IsDate(cel1.text) Or Not IsDate(cel2.text) Then Exit Function
    heure1 = TimeValue(cel1.text)
    heure2 = TimeValue(cel2.text)
    th = heure1 - heure2
    'formatage avec la fonction ""Text"" de application
    CalculeTime = Application.text(th, "[hh]:mm:ss")   'les crochets associés a app.text  indiquent que les heures se cumulent au dela de 24 ou se soustraient
End Function
demo8

re

et si encore une fois tu veux le resultat negatif ou positif dans le sens de ta demande ("-"... si fin plus petite)

Function CalculeTime(cel1 As Range, cel2 As Range)
    Dim s$, heure1 As Date, heure2 As Date, th
    CalculeTime = "": If Not IsDate(cel1.text) Or Not IsDate(cel2.text) Then Exit Function
    If TimeValue(cel1.text) < TimeValue(cel2.text) Then
        heure2 = TimeValue(cel1.text): heure1 = TimeValue(cel2.text): s = ""
    Else
        heure1 = TimeValue(cel1.text): heure2 = TimeValue(cel2.text): s = "-"
    End If
    th = heure1 - heure2
    'formatage avec la fonction ""Text"" de application
    CalculeTime = Application.text(th, s & "[hh]:mm:ss")  'les crochets associés a app.text  indiquent que les heures se cumulent au dela de 24 ou se soustraient
End Function

voila cette fois ci tu a tout

merci, je vais essayer ca ce soir ..

Bonsoir,

Un petit Doliprane ?

merci de vos réponses et du temps que vous prenez ; j'ai réussi d'une autre manière (par hasard)

7okmodif.xlsm (24.95 Ko)

, je vous met le fichier

avec ce que j'ai fait si ca peut aider d'autres personnes..

Rechercher des sujets similaires à "difference entre deux heures"