OVH Cloud OVH Cloud

Test de validité de date

2 réponses
Avatar
Daniel AUBRY
Bonsoir à tous,

dans un formulaire je saisi le jour, le mois et l'année
puis je teste comme ceci :

DateDeNaissance = Format(SaisieJourNaissance.Text, "00")
DateDeNaissance = DateDeNaissance & "/"
DateDeNaissance = DateDeNaissance & Format(SaisieMoisNaissance.Text, "00")
DateDeNaissance = DateDeNaissance & "/"
DateDeNaissance = DateDeNaissance & Format(SaisieAnneeNaissance.Text,
"0000")

If IsDate(DateDeNaissance) = False Then
MsgBox "La date de naissance est erronée !!", vbCritical, NomEtVersion
SaisieJourNaissance.SetFocus
Exit Sub
End If

Si DateDeNaissance = "01/44/1957" --> erreur détectée et traitée
MAIS si DateDeNaissance est "01/13/1957" ce n'est pas détecté comme une
erreur !!!

Si quelqu'un à une petite idée................

Dany

2 réponses

Avatar
Jean-Marc
"Daniel AUBRY" a écrit dans le message de
news:42efc883$0$4722$
Bonsoir à tous,

dans un formulaire je saisi le jour, le mois et l'année
puis je teste comme ceci :

DateDeNaissance = Format(SaisieJourNaissance.Text, "00")
DateDeNaissance = DateDeNaissance & "/"
DateDeNaissance = DateDeNaissance & Format(SaisieMoisNaissance.Text, "00")
DateDeNaissance = DateDeNaissance & "/"
DateDeNaissance = DateDeNaissance & Format(SaisieAnneeNaissance.Text,
"0000")

If IsDate(DateDeNaissance) = False Then
MsgBox "La date de naissance est erronée !!", vbCritical, NomEtVersion
SaisieJourNaissance.SetFocus
Exit Sub
End If

Si DateDeNaissance = "01/44/1957" --> erreur détectée et traitée
MAIS si DateDeNaissance est "01/13/1957" ce n'est pas détecté comme une
erreur !!!



Hello,

C'est par ce que VB a la mauvaise habitude de prendre des
libertés avec le format date en le mettant en format américain (mm/dd/yyyy)
quand
ça l'arrange.
Si tu es sur que ta date est au format européen (dd/mm/yyyy) tu peux
vérifier que "date" = format$(date, "dd/mm/yyy").

Ca parait bizzare, mais ca marche!

'8<--------------------------------

Private Sub Command1_Click()
Dim DateDeNaissance As String

Dim isDateValid As Boolean

DateDeNaissance = "01/13/1957"
isDateValid = True
If DateDeNaissance = Format$(DateDeNaissance, "dd/mm/yyyy") Then
If IsDate(DateDeNaissance) = False Then
isDateValid = False
End If
Else
isDateValid = False
End If

If Not isDateValid Then
MsgBox "La date de naissance est erronée !!", vbCritical, ""
'SaisieJourNaissance.SetFocus
Exit Sub
End If
End Sub


'8<--------------------------------

--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;
Avatar
Daniel AUBRY
"Jean-Marc" a écrit dans le message de news:
42efcb1d$0$10952$
"Daniel AUBRY" a écrit dans le message de
news:42efc883$0$4722$
Bonsoir à tous,

dans un formulaire je saisi le jour, le mois et l'année
puis je teste comme ceci :

DateDeNaissance = Format(SaisieJourNaissance.Text, "00")
DateDeNaissance = DateDeNaissance & "/"
DateDeNaissance = DateDeNaissance & Format(SaisieMoisNaissance.Text,
"00")
DateDeNaissance = DateDeNaissance & "/"
DateDeNaissance = DateDeNaissance & Format(SaisieAnneeNaissance.Text,
"0000")

If IsDate(DateDeNaissance) = False Then
MsgBox "La date de naissance est erronée !!", vbCritical,
NomEtVersion
SaisieJourNaissance.SetFocus
Exit Sub
End If

Si DateDeNaissance = "01/44/1957" --> erreur détectée et traitée
MAIS si DateDeNaissance est "01/13/1957" ce n'est pas détecté comme une
erreur !!!



Hello,

C'est par ce que VB a la mauvaise habitude de prendre des
libertés avec le format date en le mettant en format américain
(mm/dd/yyyy)
quand
ça l'arrange.
Si tu es sur que ta date est au format européen (dd/mm/yyyy) tu peux
vérifier que "date" = format$(date, "dd/mm/yyy").

Ca parait bizzare, mais ca marche!

'8<--------------------------------

Private Sub Command1_Click()
Dim DateDeNaissance As String

Dim isDateValid As Boolean

DateDeNaissance = "01/13/1957"
isDateValid = True
If DateDeNaissance = Format$(DateDeNaissance, "dd/mm/yyyy") Then
If IsDate(DateDeNaissance) = False Then
isDateValid = False
End If
Else
isDateValid = False
End If

If Not isDateValid Then
MsgBox "La date de naissance est erronée !!", vbCritical, ""
'SaisieJourNaissance.SetFocus
Exit Sub
End If
End Sub


'8<--------------------------------

--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;




Merci Jean-Marc, cela règle parfaitement mon problème.

Dany