Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Problèmes de date dans Textbox

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 !

karinette

XLDnaute Occasionnel
Bonjour à tous ...
Je vous expose mon problème, car mes recherches ne m'ont pas beaucoup aidées ...
J'ai un classeur avec un USF où l'on saisi 2 dates.
Un raccourcis permet de mettre automatiquement la date du jour.
Apres validation, une formule calcule l'ecart.
J'ai 2 problèmes :
- Lorsque je change la date dans le textbox, le mois et le jour s'inverse parfois (sauf sur un petit ecart 😕)
- Comment obliger la saisie au bon format (dd/mm/yyyy hh:mm)

Merci d'avance ...
 

Pièces jointes

Re : Problèmes de date dans Textbox

Bonjour karinette,

Par exemple cette solution :

Code:
Private Sub CommandButton9_Click()
[COLOR="Red"]If Not TextBox1 Like "##/##/#### ##:##" Or Mid(TextBox1, 4, 2) > "12" _
  Or Not IsDate(TextBox1) Then TextBox1 = "": TextBox1.SetFocus: Exit Sub
If Not TextBox2 Like "##/##/#### ##:##" Or Mid(TextBox2, 4, 2) > "12" _
  Or Not IsDate(TextBox2) Then TextBox2 = "": TextBox2.SetFocus: Exit Sub[/COLOR]
ActiveSheet.Range("C3") = CDate(TextBox1)
ActiveSheet.Range("D3") = CDate(TextBox2)
Unload Me
End Sub

On peut aussi contrôler chaque caractère, c'est plus compliqué et plus lourd...

Edit : j'avais mis Like "##/##* ##:##", excès de zèle pas terrible...

A+
 
Dernière édition:
Re : Problèmes de date dans Textbox

Re, salut Michel,

IsDate considère comme des dates les années à partir de l'an 100...

Donc il faut aussi contrôler l'année (en rouge) :

Code:
Private Sub CommandButton9_Click()
If Not TextBox1 Like "##/##/#### ##:##" Or Mid(TextBox1, 4, 2) > "12" [COLOR="Red"]Or Mid(TextBox1, 7, 4) < "1900"[/COLOR] _
  Or Not IsDate(TextBox1) Then TextBox1 = "": TextBox1.SetFocus: Exit Sub
If Not TextBox2 Like "##/##/#### ##:##" Or Mid(TextBox2, 4, 2) > "12" [COLOR="red"]Or Mid(TextBox2, 7, 4) < "1900"[/COLOR] _
  Or Not IsDate(TextBox2) Then TextBox2 = "": TextBox2.SetFocus: Exit Sub
ActiveSheet.Range("C3") = CDate(TextBox1)
ActiveSheet.Range("D3") = CDate(TextBox2)
Unload Me
End Sub

A+
 
- 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
6
Affichages
641
A
Réponses
2
Affichages
952
Arnnaud
A
S
Réponses
6
Affichages
1 K
seraff1
S
J
Réponses
1
Affichages
657
Réponses
2
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…