Excel vba textBox format Date

Résolu/Fermé
maryblue25
Messages postés
12
Date d'inscription
lundi 6 juillet 2009
Statut
Membre
Dernière intervention
10 août 2009
- 13 juil. 2009 à 15:48
maryblue25
Messages postés
12
Date d'inscription
lundi 6 juillet 2009
Statut
Membre
Dernière intervention
10 août 2009
- 15 juil. 2009 à 14:03
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

michel_m
Messages postés
16574
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
3 août 2022
3 277
15 juil. 2009 à 13:01
J'ai repris ma bricole (excuse facile: on est un lendemain de f^te)
https://www.cjoint.com/?hpm7UiREIy
1
michel_m
Messages postés
16574
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
3 août 2022
3 277
14 juil. 2009 à 10:39
Bonjour

essaies la fonction "datevalue"
datevalue(ladate)

"ladate" peut être du texte
0
maryblue25
Messages postés
12
Date d'inscription
lundi 6 juillet 2009
Statut
Membre
Dernière intervention
10 août 2009
1
15 juil. 2009 à 09:16
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
0
michel_m
Messages postés
16574
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
3 août 2022
3 277
15 juil. 2009 à 09:43
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)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
maryblue25
Messages postés
12
Date d'inscription
lundi 6 juillet 2009
Statut
Membre
Dernière intervention
10 août 2009
1
15 juil. 2009 à 10:00
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!
0
michel_m
Messages postés
16574
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
3 août 2022
3 277
15 juil. 2009 à 11:35
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)
0
maryblue25
Messages postés
12
Date d'inscription
lundi 6 juillet 2009
Statut
Membre
Dernière intervention
10 août 2009
1
15 juil. 2009 à 14:03
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
0