Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

VBA : afficher le nombre d'heures et minutes qui sépare 2 dates

8 réponses
Avatar
merguez07
bonjour à tous,
dans une Form j'ai le problème suivant :
dans mon label1 j'ai un texte de la forme "10/02/10 10:13"
dans mon label2 j'ai un texte de la forme "12/02/10 11:14"
Dans mon label3 je voudrais avoir le nombre d'heures et minutes qui
sépare les 2 dates sous la forme "hh:mm"

j'ai fait :
label3 = Format(CDate(label2) - CDate(label1), "hh:mm")
ça me donne "01:01"

et
label3 = Format(CDate(label2) - CDate(label1), "[hh]:mm")
me donne ":01"



je voudrais avoir le résultat :"49:01"

merci pour vos idées

8 réponses

Avatar
RV
Bonjour merguez07,

Il faut changer le format de la cellule résultat, faire : format, cellule,
puis personnalisée et choisir le format [h]:mm
Cdlt
RV

"merguez07" a écrit dans le message de groupe de
discussion : 4baf0a31$0$29841$
bonjour à tous,
dans une Form j'ai le problème suivant :
dans mon label1 j'ai un texte de la forme "10/02/10 10:13"
dans mon label2 j'ai un texte de la forme "12/02/10 11:14"
Dans mon label3 je voudrais avoir le nombre d'heures et minutes qui sépare
les 2 dates sous la forme "hh:mm"

j'ai fait :
label3 = Format(CDate(label2) - CDate(label1), "hh:mm")
ça me donne "01:01"

et
label3 = Format(CDate(label2) - CDate(label1), "[hh]:mm")
me donne ":01"



je voudrais avoir le résultat :"49:01"

merci pour vos idées
Avatar
merguez07
Merci RV mais si le format [h]:mn marche dans une cellule, ce n'est pas
le cas dans un label.

j'ai trouvé une solution que je trouve pas très élégante:

nbHeures = DateDiff("h", CDate(label1), CDate(label2))
nbMinutes = Format(DateDiff("n", CDate(label1), CDate(label2)) - 60 *
nbHeures, "00")
label3 = nbHeures & ":" + nbMinutes

il y a sans doute beaucoup plus simple mais pour l'instant je colle


RV a écrit :
Bonjour merguez07,

Il faut changer le format de la cellule résultat, faire : format,
cellule, puis personnalisée et choisir le format [h]:mm
Cdlt
RV

"merguez07" a écrit dans le message de groupe de
discussion : 4baf0a31$0$29841$
bonjour à tous,
dans une Form j'ai le problème suivant :
dans mon label1 j'ai un texte de la forme "10/02/10 10:13"
dans mon label2 j'ai un texte de la forme "12/02/10 11:14"
Dans mon label3 je voudrais avoir le nombre d'heures et minutes qui
sépare les 2 dates sous la forme "hh:mm"

j'ai fait :
label3 = Format(CDate(label2) - CDate(label1), "hh:mm")
ça me donne "01:01"

et
label3 = Format(CDate(label2) - CDate(label1), "[hh]:mm")
me donne ":01"



je voudrais avoir le résultat :"49:01"

merci pour vos idées



Avatar
RV
Oups,
j'avais pas vu le mot important "label", le décalage horaire certainement!

"merguez07" a écrit dans le message de groupe de
discussion : 4baf151d$0$17493$
Merci RV mais si le format [h]:mn marche dans une cellule, ce n'est pas le
cas dans un label.

j'ai trouvé une solution que je trouve pas très élégante:

nbHeures = DateDiff("h", CDate(label1), CDate(label2))
nbMinutes = Format(DateDiff("n", CDate(label1), CDate(label2)) - 60 *
nbHeures, "00")
label3 = nbHeures & ":" + nbMinutes

il y a sans doute beaucoup plus simple mais pour l'instant je colle


RV a écrit :
Bonjour merguez07,

Il faut changer le format de la cellule résultat, faire : format,
cellule, puis personnalisée et choisir le format [h]:mm
Cdlt
RV

"merguez07" a écrit dans le message de groupe de
discussion : 4baf0a31$0$29841$
bonjour à tous,
dans une Form j'ai le problème suivant :
dans mon label1 j'ai un texte de la forme "10/02/10 10:13"
dans mon label2 j'ai un texte de la forme "12/02/10 11:14"
Dans mon label3 je voudrais avoir le nombre d'heures et minutes qui
sépare les 2 dates sous la forme "hh:mm"

j'ai fait :
label3 = Format(CDate(label2) - CDate(label1), "hh:mm")
ça me donne "01:01"

et
label3 = Format(CDate(label2) - CDate(label1), "[hh]:mm")
me donne ":01"



je voudrais avoir le résultat :"49:01"

merci pour vos idées



Avatar
Jacquouille
Bonjour
Pour les formats, tu peux prier Saint Modeste, c'est une grosse pointure.

--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.

"merguez07" a écrit dans le message de news:
4baf151d$0$17493$
Merci RV mais si le format [h]:mn marche dans une cellule, ce n'est pas le
cas dans un label.

j'ai trouvé une solution que je trouve pas très élégante:

nbHeures = DateDiff("h", CDate(label1), CDate(label2))
nbMinutes = Format(DateDiff("n", CDate(label1), CDate(label2)) - 60 *
nbHeures, "00")
label3 = nbHeures & ":" + nbMinutes

il y a sans doute beaucoup plus simple mais pour l'instant je colle


RV a écrit :
Bonjour merguez07,

Il faut changer le format de la cellule résultat, faire : format,
cellule, puis personnalisée et choisir le format [h]:mm
Cdlt
RV

"merguez07" a écrit dans le message de groupe de
discussion : 4baf0a31$0$29841$
bonjour à tous,
dans une Form j'ai le problème suivant :
dans mon label1 j'ai un texte de la forme "10/02/10 10:13"
dans mon label2 j'ai un texte de la forme "12/02/10 11:14"
Dans mon label3 je voudrais avoir le nombre d'heures et minutes qui
sépare les 2 dates sous la forme "hh:mm"

j'ai fait :
label3 = Format(CDate(label2) - CDate(label1), "hh:mm")
ça me donne "01:01"

et
label3 = Format(CDate(label2) - CDate(label1), "[hh]:mm")
me donne ":01"



je voudrais avoir le résultat :"49:01"

merci pour vos idées



Avatar
merguez07
Saint Modeste, je te conjure, répond à mon appel,
que ta pointure soit à l'égal de ma droiture
et que ton nom soit Excelisé
Amène (moi une solution)


Jacquouille a écrit :
Bonjour
Pour les formats, tu peux prier Saint Modeste, c'est une grosse pointure.

Avatar
Daniel.C
Bonjour.
Tu peux passer par une cellule intermédiaire :
[A1] = CDate(Me.Label3) - CDate(Me.Label1)
[A1].NumberFormat = "[hh]:mm"
Me.Label4 = [A1].Text
[A1].ClearContents
Daniel

Merci RV mais si le format [h]:mn marche dans une cellule, ce n'est pas le
cas dans un label.

j'ai trouvé une solution que je trouve pas très élégante:

nbHeures = DateDiff("h", CDate(label1), CDate(label2))
nbMinutes = Format(DateDiff("n", CDate(label1), CDate(label2)) - 60 *
nbHeures, "00")
label3 = nbHeures & ":" + nbMinutes

il y a sans doute beaucoup plus simple mais pour l'instant je colle


RV a écrit :
Bonjour merguez07,

Il faut changer le format de la cellule résultat, faire : format, cellule,
puis personnalisée et choisir le format [h]:mm
Cdlt
RV

"merguez07" a écrit dans le message de groupe de
discussion : 4baf0a31$0$29841$
bonjour à tous,
dans une Form j'ai le problème suivant :
dans mon label1 j'ai un texte de la forme "10/02/10 10:13"
dans mon label2 j'ai un texte de la forme "12/02/10 11:14"
Dans mon label3 je voudrais avoir le nombre d'heures et minutes qui sépare
les 2 dates sous la forme "hh:mm"

j'ai fait :
label3 = Format(CDate(label2) - CDate(label1), "hh:mm")
ça me donne "01:01"

et
label3 = Format(CDate(label2) - CDate(label1), "[hh]:mm")
me donne ":01"



je voudrais avoir le résultat :"49:01"

merci pour vos idées



Avatar
michdenis
Bonjour,

Une façon de faire :
'--------------------------------
Sub test()
Dim A as double, B as double
dim x as integer, y as integer

A = CDbl(CDate(Label1"))
B = CDbl(CDate(label2))
x = Int((B - A) * 24)
y = Int((((B - A) * 24) - x) * 60)
MsgBox x & " heures " & y & " minutes"
End Sub
'--------------------------------



"merguez07" a écrit dans le message de groupe de discussion :
4baf0a31$0$29841$
bonjour à tous,
dans une Form j'ai le problème suivant :
dans mon label1 j'ai un texte de la forme "10/02/10 10:13"
dans mon label2 j'ai un texte de la forme "12/02/10 11:14"
Dans mon label3 je voudrais avoir le nombre d'heures et minutes qui
sépare les 2 dates sous la forme "hh:mm"

j'ai fait :
label3 = Format(CDate(label2) - CDate(label1), "hh:mm")
ça me donne "01:01"

et
label3 = Format(CDate(label2) - CDate(label1), "[hh]:mm")
me donne ":01"



je voudrais avoir le résultat :"49:01"

merci pour vos idées
Avatar
Modeste
Bonsour®"Jacquouille" qui a écrit :

............
Pour les formats, tu peux prier Saint Modeste...



;o)))

Z = Application.Substitute(CDate(Me.TextBox2) - CDate(Me.TextBox1), ",",
".")
'------- le substitute ne se justifie que si le séparateur décimal = ","
Me.TextBox3 = Evaluate("=TEXT(" & Z & ",""[h]:mm:ss"")")

cela sous-entend que les saisies dans les textes boxes soient préalablement
controlées en tant que dates !!!

comme dirait Mgr Banni en ce jour des "Rameaux" :
Ose !! Anna
et non pas au sanat...