Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Difference d'heure.

S

SylSyl

Guest
Bonjour tout le monde,

Ca ne fait que 2 mois que j'ai quitté ce merveilleux forum et le monde VBA et j'ai déjà tout oublié...

Ma question est très simple comment additionner/soustraire 2 heures au format "hh:mm".
Pour l'instant j'utilise DureeCont = Format(HeureFin - HeureDebut, "hh:mm") où HeureFin et Debut sont a ce meme format mais ca marche pas...

Merci beaucoup et bon Week-End.
A++, Sylsyl.
 
A

andré

Guest
Salut SylSyl,

Heureux de t'endre à nouveau.

Monique t'a déjà expliqué 1.000 fois qu'Excel compte en jours et je suppose que tu sais qu'une heure est 1/24 d'une journée.

Donc : 14:00-2/24 te donnera 12:00 (à mettre en format hh:mm)

Bon week-end
Ândré
 
S

SylSyl

Guest
Salut Andre,

ton explication est d'une simplicité remarquable et je fais toutes mes excuses à Monique (tu lui diras pas, hein ?) mais ca marche pas.

Je fais ca (en test), c'est lancé à chaque fois que je modifie les heures ou minutes d'une des 2 heures (dans le prog):

Private Sub CalcDureeCont()
On Error GoTo fin
HeureFin = Format("15:00", "hh:mm")
HeureDebut = Format("14:00", "hh:mm")

DureeCont = Format(HeureFin - Format(HeureDebut, "h") / 24 - Format(HeureDebut, "n") / 24 / 60, "hh:mm")

Label13.Caption = DureeCont
fin:
End Sub

Où est le pb ?

Merci.
 
S

SylSyl

Guest
Finalement j'ai mis ca et ca marche:

Private Sub CalcDureeCont()
On Error GoTo fin

If Minute(HeureFin) > Minute(HeureDebut) Then
DureeCont = Hour(HeureFin) - Hour(HeureDebut) & ":" & Minute(HeureFin) - Minute(HeureDebut)
Else
DureeCont = Hour(HeureFin) - Hour(HeureDebut) - 1 & ":" & Minute(HeureFin) - Minute(HeureDebut) + 60
End If
Label13.Caption = Format(DureeCont, "hh:mm")
Exit Sub
fin:
Label13.Caption = ""
End Sub

A++, Sylsyl.
 

Discussions similaires

  • Question
Microsoft 365 Format heure
Réponses
11
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…