Microsoft 365 Différence en jours

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Marvin57

XLDnaute Occasionnel
Bonjour tout le monde,

j'ai un UserForm qui a trois Textbox.

Textbox1 dans lequel je rentre une date
Textbox2 dans lequel je rentre une date

Textbox3 qui devrait si possible me donner la différence entre ces deux dates , en jours.

Pourriez vous me guider sur cette demande S'il vous plaît.

Je vous remercie d'avance.

Marvin57
 
Solution
Bonjour le Fil
ou peut être
VB:
TextBox3=Datediff("d", CDate(TextBox1.value"), CDate(TextBox2.value"))+1
si l'on veut que du 1/1/2024 au 1/1/2024 ca donne 1 jour Lol
reste a voir pour les demi journée Lol
Bonne fin de Journée
Jean marie
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é.
VB:
 Private Sub TextBox3_Change()
 TextBox3.Text = CDate(Me.TextBox2.Value) - CDate(Me.TextBox1.Value)
 End Sub

J'ai placé le code de cette façon, mais il ne se passe rien
 
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.
Re,

c'est lundi je devrai être plus en forme que ça !😕

C'est bon je l'ai placé de cette façon dans l'autre textbox évènement et oui cela fonctionne.

Merci à vous et surtout pour votre patience.

Marvin57
 
Vous devriez donner des noms mnémoniques à vos contrôles TBxDateDéb, TBxDateFin, TBxNbJrsDif par exemple.
Re Dranreb,

j'étais trop rapide !

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.

Peut-on remédier à cela ?
 
re
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
 
re

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 Patricktoulon,
Re Dranreb,

alors je dois changer quoi exactement dans le code S'il vous plaît ?
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
15
Affichages
748
Réponses
8
Affichages
670
  • Question Question
XL 2013 VBA Excel
Réponses
2
Affichages
589
Réponses
11
Affichages
414
Réponses
22
Affichages
936
Réponses
4
Affichages
365
Retour