Bonjour à tous,
Je cherche en vain une solution pour soustraire 2 dates au-delà du mois. Alors voilà, j'ai récupéré un code qui permet à partir d'un calendrier de sélectionner des dates : DateDebut et DateFin. Je récupère les 2 dates dans des labels par .caption et fait la différence dans un 3ème Label. Tout va très bien tant que je reste dans le même mois. C'est plus compliqué quand je veux faire la différence entre le 31/12 et le 14/07, dans quel cas le résultat est 31-14 = 17 ! ce qui ne tient pas compte des 6 mois qui séparent les dates.
Je suppose qu'il doit y avoir un problème de format dans mes Labels et ailleurs, mais suis bien incapable de dire comment m'en sortir.
Si quelqu'un connaît une solution je serais ravi d'en profiter.
A titre d'info je mets un bout de code
Merci d'avance,
Philippe
Private Sub Calendrier_Click()
' Choix d'une date sur le calendrier
If cboDateAValider.ListIndex = 0 Then
DateDebut.Value = Calendrier.Value
cboDateAValider.ListIndex = 1
Else
DateFin.Value = Calendrier.Value
End If
UserForm1.Date1.Caption = DateDebut.Value
UserForm1.Date2 = DateFin.Value
'Envoi le nombre d'heures entre les deux dates sur Userform1(Label Date3)
UserForm1.Date3.Caption = ((Val(DateFin.Value) - Val(DateDebut.Value))) * 24
End Sub
PS : je multiplie par 24 pour avoir des heures...
Je cherche en vain une solution pour soustraire 2 dates au-delà du mois. Alors voilà, j'ai récupéré un code qui permet à partir d'un calendrier de sélectionner des dates : DateDebut et DateFin. Je récupère les 2 dates dans des labels par .caption et fait la différence dans un 3ème Label. Tout va très bien tant que je reste dans le même mois. C'est plus compliqué quand je veux faire la différence entre le 31/12 et le 14/07, dans quel cas le résultat est 31-14 = 17 ! ce qui ne tient pas compte des 6 mois qui séparent les dates.
Je suppose qu'il doit y avoir un problème de format dans mes Labels et ailleurs, mais suis bien incapable de dire comment m'en sortir.
Si quelqu'un connaît une solution je serais ravi d'en profiter.
A titre d'info je mets un bout de code
Merci d'avance,
Philippe
Code:
' Choix d'une date sur le calendrier
If cboDateAValider.ListIndex = 0 Then
DateDebut.Value = Calendrier.Value
cboDateAValider.ListIndex = 1
Else
DateFin.Value = Calendrier.Value
End If
UserForm1.Date1.Caption = DateDebut.Value
UserForm1.Date2 = DateFin.Value
'Envoi le nombre d'heures entre les deux dates sur Userform1(Label Date3)
UserForm1.Date3.Caption = ((Val(DateFin.Value) - Val(DateDebut.Value))) * 24
End Sub
PS : je multiplie par 24 pour avoir des heures...