Par exemple dans des procédures de prises en charge de l'évènement Exit ou Change des TextBox.
Si vous joignez un classeur je vous y mettrais aussi un calendrier pour saisir les dates.
Par exemple dans des procédures de prises en charge de l'évènement Exit ou Change des TextBox.
Si vous joignez un classeur je vous y mettrais aussi un calendrier pour saisir les dates.
Qu'est-ce qui vous bloque au juste ?
Sélectionnez le nom du contrôle dans la liste de gauche qui surmonte la fenêtre de code et choisissez dans celle de droite l'évènement que vous voulez prendre en charge, Enter, Change ou Exit, et mettez le code dans le modèle de Sub généré.
Qu'est-ce qui vous bloque au juste ?
Sélectionnez le nom du contrôle dans la liste de gauche qui surmonte la fenêtre de code et choisissez dans celle de droite l'évènement que vous voulez prendre en charge, Enter, Change ou Exit, et mettez le code dans le modèle de Sub généré.
Ben, non, évidemment, ça ne sert à rien ! C'est lors d'un changement d'une des deux autres TextBox qu'il faut le faire. Ajouter des tests au cas où l'une ou l'autre serait encore vide.
Ben, non, évidemment, ça ne sert à rien ! C'est lors d'un changement d'une des deux autres TextBox qu'il faut le faire. Ajouter des tests au cas où l'une ou l'autre serait encore vide.
Ben, non, évidemment, ça ne sert à rien ! C'est lors d'un changement d'une des deux autres TextBox qu'il faut le faire. Ajouter des tests au cas où l'une ou l'autre serait encore vide.
j'ai un soucis, car avec ce code il ne me donne pas le bon compte.
Par ex. Si je donne la date d'aujourd'hui ( 15/01/2024) dans le textbox1 et la date de mercredi (17/01/2024) dans le textbox2, il me donne dans le textbox3 un 2 alors qu'il devrait donner un 3, comme cela fait trois jours.
Par ex. Si je donne la date d'aujourd'hui ( 15/01/2024) dans le textbox1 et la date de mercredi (17/01/2024) dans le textbox2, il me donne dans le textbox3 un 2 alors qu'il devrait donner un 3, comme cela fait trois jours.
Bonjour @Marvin57
faux car les donnée sont imcomplètes
une date c'est un jour , un mois , une année
mais en aucun cas une date dit a quel moment on est dans la journée de la date donc vba considère la journée revolu par defaut
17/01/2024 -15/01/2024 pour vba c'est egal à
(15/01/2024 23:59:59 , 9999999....) -(17/01/2024 23:59:59 , 999999.....) à une nano seconde près on a donc bien 2 jours révolus de différence à une nano seconde près
démonstration
VB:
Sub test()
d1 = CDate("15/01/2024 ") - TimeValue("23:59:59") 'on enlève les 24 heures de la journée
d2 = CDate("17/01/2024") + TimeValue("23:59:59") 'on ajoute les 24 heurs de la journée
MsgBox DateDiff("d", d1, d2)
End Sub
Bonjour @Marvin57
faux car les donnée sont imcomplètes
une date c'est un jour , un mois , une année
mais en aucun cas une date dit a quel moment on est dans la journée de la date donc vba considère la journée revolu par defaut
17/01/2024 -15/01/2024 pour vba c'est egal à
(15/01/2024 23:59:59 , 9999999....) -(17/01/2024 23:59:59 , 999999.....) à une nano seconde près on a donc bien 2 jours révolus de différence à une nano seconde près
démonstration
VB:
Sub test()
d1 = CDate("15/01/2024 ") - TimeValue("23:59:59") 'on enlève les 24 heures de la journée
d2 = CDate("17/01/2024") + TimeValue("23:59:59") 'on ajoute les 24 heurs de la journée
MsgBox DateDiff("d", d1, d2)
End Sub