Cohérence dans la date

Messages postés
19
Date d'inscription
mercredi 25 juin 2003
Statut
Membre
Dernière intervention
22 avril 2010
-
Messages postés
21
Date d'inscription
mercredi 21 mai 2003
Statut
Membre
Dernière intervention
25 juillet 2005
-
Bonjour à tous !
Voilà, j'utlise un maskedbox pour saisir une date, j'aimerais savore s'il existe un moyen tout simple pour contrôler la cohérence d'une date saisie
Par exemple : 29 février quand il n'en possède que 28 ou 31 mai alors qu'il y en a 30 jour

Merci d'avance
Willy

3 réponses

Messages postés
96
Date d'inscription
mercredi 2 juillet 2003
Statut
Membre
Dernière intervention
28 janvier 2009

Tu peux essayer la fonction isdate(expression) qui te renvoie TRUE si l'expression est une date
salut
:-p bob le teigneux :big)
Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
28
Et pour completer l'affaire, IsDate() sera bien placé dans l'évènement Validate de ta MaskedBox

Christophe R.
Messages postés
21
Date d'inscription
mercredi 21 mai 2003
Statut
Membre
Dernière intervention
25 juillet 2005

Voici ce que j'utilise avec une maskedbox (##/##/####) pour eviter que isdate("11/25/2004")=true...
Tout ça avec l'évenement validate que tu peux remplacer par lostfocus, ça dépend de ce que tu recherches.

Private Sub txtDate_validate(cancel As Boolean)
'tester si une valeur est entrée sinon laisser quitter le focus
If txtDate.Text <> "__/__/____" Then
'Tester le mois > 12 ou/et la validité
If Mid(txtDate, 4, 2) > 12 Or IsDate(txtDate.Text) = False Then
Beep
cancel = True
'Surkignement du champ
txtDate.SelStart = 0
txtDate.SelLength = 10
End If
End If
End Sub