Calcul temps indisponibilité (soustraction de date et résultat au format jj:hh:mm:ss)

rudymagny

XLDnaute Occasionnel
Bonsoir le forum,
j'ai besoin de réalisé un calcul de temps d'indisponibilité entre 2 dates en faisant une soustraction :
date fin - date début ==> Afficher le résultat au format jj:hh:mm:ss

J'ai trouvé de nombreux fils qui abordait ce style de sujet mais je n'ai pas trouvé mon bonheur...

Voici ou j'en suis :
VB:
        For i = 2 To L3
            tps_indispo = ""
            If Cells(i, 12).Value <> "" Then
                With ThisWorkbook.Sheets("Rapport Exploitation")
                    tps_indispo = CDate(.Cells(i, 12)) - CDate(.Cells(i, 11))
                End With
                MsgBox Format(tps_indispo, jj & " jours " & hh & " hrs " & mm & " min " & ss & " sec. ")
            Else
                With ThisWorkbook.Sheets("Rapport Exploitation")
                    tps_indispo = CDate(Now) - CDate(.Cells(i, 11))
                End With
                MsgBox Format(tps_indispo, jj & " jours " & hh & " hrs " & mm & " min " & ss & " sec. ")
            End If
        Next i

mais le résultat en sortie est incohérent ;-( voir PJ

Merci pour votre aide
 

Pièces jointes

  • format_date.jpg
    format_date.jpg
    5.7 KB · Affichages: 81
Dernière édition:

rudymagny

XLDnaute Occasionnel
Re : Calcul temps indisponibilité (soustraction de date et résultat au format jj:hh:m

Bonsoir kjin, je n'avais pas faise gaffe mais mon imprime ecran est pourri ;-( désolé...

Par contre ta proposition ne me donne pas le résultat attendu, j'ai testé en faisant comme àa :

Code:
        For i = 2 To L3
            tps_indispo = ""
            If Cells(i, 12).Value <> "" Then
                With ThisWorkbook.Sheets("Rapport Exploitation")
                    MsgBox Format([.Cells(i, 12)] - [.Cells(i, 11)], "d ""jours"" h ""heures"" m ""minutes et"" s ""secondes""")
                End With
            Else
                With ThisWorkbook.Sheets("Rapport Exploitation")
                    MsgBox Format([Now] - [.Cells(i, 11)], "d ""jours"" h ""heures"" m ""minutes et"" s ""secondes""")
                End With
            End If
        Next i

Rien ne s'affiche....

je met un fichier en exemple avec le résultat d'une formule que j'ai testé mais qui ne donne pas les bons delta et une macro vba mais qui bloc au niveau du format de date je pense ... Je sèche
 

Pièces jointes

  • tps_indispo.xls
    42 KB · Affichages: 58
  • tps_indispo.xls
    42 KB · Affichages: 65
  • tps_indispo.xls
    42 KB · Affichages: 60

Modeste geedee

XLDnaute Barbatruc
Re : Calcul temps indisponibilité (soustraction de date et résultat au format jj:hh:m

Bonsour®
Bonsoir le forum,
j'ai besoin de réalisé un calcul de temps d'indisponibilité entre 2 dates en faisant une soustraction :
date fin - date début ==> Afficher le résultat au format jj:hh:mm:ss

mais le résultat en sortie est incohérent
le format :
d hh:mm:ss
ne peut afficher au-dela de 31 jours
il est par ailleurs illusoire de vouloir utiliser un format de nombre date-heure autrement que sous la forme
jours , fraction décimale de jour

contournement possible (mais le résultat est un texte !!!)
voir pièce jointe
 

Pièces jointes

  • tps_indispo.xls
    73.5 KB · Affichages: 80
  • tps_indispo.xls
    73.5 KB · Affichages: 78
  • tps_indispo.xls
    73.5 KB · Affichages: 78

rudymagny

XLDnaute Occasionnel
Re : Calcul temps indisponibilité (soustraction de date et résultat au format jj:hh:m

Bonsoir Modeste geedee,
C'est exactement le rendu que je cherchais (Maladroitement ;-)

Je teste ça dans mon fichier réel demain et je te tiens au courant ...

Merci beaucoup, bonne soirée
 

Discussions similaires

Réponses
3
Affichages
2 K
Réponses
32
Affichages
4 K
G

Statistiques des forums

Discussions
312 299
Messages
2 086 996
Membres
103 423
dernier inscrit
Guyom GIL