Excel vba textBox format Date [Résolu/Fermé]

Signaler
Messages postés
12
Date d'inscription
lundi 6 juillet 2009
Statut
Membre
Dernière intervention
10 août 2009
-
Messages postés
12
Date d'inscription
lundi 6 juillet 2009
Statut
Membre
Dernière intervention
10 août 2009
-
Bonjour,

j'ai un souci avec un userform que j'ai crée. En effet j'ai 2 text box (txt3 et txt4). Txt3 désigne la date de départ et txt4 celle de fin. Je veux que txt4 soit > à txt4. Et aussi et surtout je veux que la date soit sous format dd/mm/aaaa.
Je vous envoie le petit code que j'ai écris :

Private Sub txt3_AfterUpdate()

'Faire que l'on ne puisse entrer que des dates dans txt3
If txt3.Value <> "" Then
If Not IsDate(txt3.Value) Then
MsgBox "Date incorrecte.", vbCritical + vbOKOnly, "Erreur"
txt3.Value = ""
Else
txt3.Value = CDate(txt3.Value)
End If

End If

End Sub

Private Sub txt4_AfterUpdate()

'Faire que l'on ne puisse entrer que des dates dans txt4
If txt4.Value <> "" Then
If Not IsDate(txt4.Value) Then
MsgBox "Date incorrecte.", vbCritical + vbOKOnly, "Erreur"
txt4.Value = ""
Else
txt4.Value = CDate(txt4.Value)

End If
End If

'La date entrée doit être supérieure à celle de txt3
If txt4.Value < txt3.Value Then
MsgBox "Veuillez saisir une date postérieure à celle de départ.", vbOKOnly
End If

End Sub

Cependant ca ne marche pas! Quand j'entre dans txt3 : 30/09/09 et dans txt4 : 7/12/09, il me dit que la date que j'entre en second n'est pas postérieure à la première.
Pourriez vous m'aider svp?

Cdlt,
Mary (en détresse encore une fois)
A voir également:

7 réponses

Messages postés
16391
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
24 février 2021
3 142
J'ai repris ma bricole (excuse facile: on est un lendemain de f^te)
https://www.cjoint.com/?hpm7UiREIy
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
16391
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
24 février 2021
3 142
Bonjour

essaies la fonction "datevalue"
datevalue(ladate)

"ladate" peut être du texte
Messages postés
12
Date d'inscription
lundi 6 juillet 2009
Statut
Membre
Dernière intervention
10 août 2009
1
Encore une fois merci pour ta réponse, décidément tu es toujours là pour m'aider...
Puis-je encore abuser de tes connaissances en vb?
Ca ne marche toujours pas! voici ce qui est écris maintenant. (peu de choses ont changé)
Private Sub txt3_AfterUpdate()

'Faire que l'on ne puisse entrer que des dates dans txt3
If txt3.Value <> "" Then
If Not IsDate(txt3.Value) Then
MsgBox "Date incorrecte.", vbCritical + vbOKOnly, "Erreur"
txt3.Value = ""
Else
txt3.Value = DateValue(txt3.Value)

End If

End If

End Sub

Private Sub txt4_AfterUpdate()

'Faire que l'on ne puisse entrer que des dates dans txt4
If txt4.Value <> "" Then
If Not IsDate(txt4.Value) Then
MsgBox "Date incorrecte.", vbCritical + vbOKOnly, "Erreur"
txt4.Value = ""
Else
txt4.Value = DateValue(txt4.Value)

End If
End If

'La date entrée doit être supérieure à celle de txt3
If txt4.Value < txt3.Value Then
MsgBox "Veuillez saisir une date postérieure à celle de départ.", vbOKOnly
txt4.Value = ""
End If

End Sub
Messages postés
16391
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
24 février 2021
3 142
Bonjour
essaies
If Txt4 Like "##/##/####" Then
.....
End If

la date peut saisie sie sous la forme JJ/MM/AA ou J/M/A ou J/M ou J-m-A ou.... Mercerdi 15 juillet 2009 etc... bref les formats date prévus par XL (format-cellule-nombre)
Messages postés
12
Date d'inscription
lundi 6 juillet 2009
Statut
Membre
Dernière intervention
10 août 2009
1
En fait il n'y a pas de souci, il reconnait le format date! Le hic est que je n'arrive pas à savoir s'il la considèrer en jj/mm/aaaa ou en mm/jj/aaaa.
Et en plus le concept de date inférieure à une autre n'a pas l'air d'être bon! enfin mon écriture! Quand je tape des dates pour vérifier, ca donne un peu du n'importe quoi...
Je suis complètement perdue!
Messages postés
16391
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
24 février 2021
3 142
re,
Ze big problème est qu'il y a des dates où quelquesoit l'environnement (fr ou uk) il y aura ambiguité style
10/5/9 est ce le 5 octobre uk ou le 10 mai(fr)

je t'ai bricolé un truc où on demande confirmation que tu pourras adapter si ca te convient
https://www.cjoint.com/?hplEreqUmb

j'en ai profité pour te donner une manière de transformer le jour en nombre standard pour comparer (datevalue n'était pas terrible)
Messages postés
12
Date d'inscription
lundi 6 juillet 2009
Statut
Membre
Dernière intervention
10 août 2009
1
Merci beaucoup de toutes ces réponses, elles m'ont vraiment beaucoup aidé...
J'espère qu'un jour je pourrais rendre la pareille!

Bonne journée