Calcul entre deux dates

Bonsoir ;

Je cherche à calculer automatiquement la différence entre deux dates. Actuellement j’utilise un code qui fait partiellement le travail, en effet i le calcul bien la différence entre deux dates à condition que je modifie manuellement une date. Si je veux avoir la différence entre textbox16 et textbox17 il faut que dans le formulaire je tape manuellement une date dans textbox16 ou 17. Comme textbox17 contient la date du jour je souhaiterais que la mise à jour dans textbox13 se fasse automatiquement en fonction de la date du jour. Je mets un fichier exemple à disposition.

'Pour recalculer le temps d'utilisation du produit ROUTE
'Permet de calculer la différence entre la date du début du produit Route et la date du jour
Private Sub TextBox16_AfterUpdate()
Application.ScreenUpdating = False
Me.TextBox13 = DateDiff("m", CDate(Me.TextBox16), CDate(Me.TextBox17))
Application.ScreenUpdating = True
End Sub
'************************************************************************************************
'Permet de calculer la différence entre la date du jour du produit Route et la date du début
Private Sub TextBox17_AfterUpdate()
Application.ScreenUpdating = False
Me.TextBox13 = DateDiff("m", CDate(Me.TextBox16), CDate(Me.TextBox17))
Application.ScreenUpdating = True
End Sub
'************************************************************************************************
'Pour recalculer le temps d'utilisation du produit Vtt
'Permet de calculer la différence entre la date du début du produit Route et la date du jour
Private Sub TextBox18_AfterUpdate()
Application.ScreenUpdating = False
Me.TextBox14 = DateDiff("m", CDate(Me.TextBox18), CDate(Me.TextBox19))
Application.ScreenUpdating = True
End Sub
'************************************************************************************************
'Permet de calculer la différence entre la date du jour du produit Vtt et la date du début
Private Sub TextBox19_AfterUpdate()
Application.ScreenUpdating = False
Me.TextBox14 = DateDiff("m", CDate(Me.TextBox18), CDate(Me.TextBox19))
Application.ScreenUpdating = True
End Sub

Bonjour, si la textbox17 est la date du jour. Pourquoi faire un "After update"

Il suffit d'indiquer la date du jour à l'ouverture de votre userform.

Private Sub UserForm_initialize()
TextBox17.Value = Format(CDate(Now), "dd/mm/yyyy")
End Sub

Dans l'absolu si les calculs sont tous avec la date du jour vous pourriez même vous débarrasser de la textbox17.

et utiliser dans vos calculs

Format(CDate(Now), "dd/mm/yyyy")

Bonsoir Xmenpl;

Merci d'avoir pris le temps de me répondre, je viens de tester votre code. Pour que la différence se calcule je suis obligé de modifier une date manuellement chose que je souhaiterais ne pas avoir à faire. je voudrais que quand la date du jour change le calcul se fasse automatiquement.

Bonjour,

Essayez ceci:

    DateDeb = CDbl(CDate(TextBox16.Value))
    DateFin = CDbl(Date)
    Me.TextBox13 = Format(DateFin - DateDeb, "m")

Cdlt

Cross post.

Arturo a déjà dit ailleurs au demandeur de passer sa demande en résolue ici aussi...

Rechercher des sujets similaires à "calcul entre deux dates"