dthuler
Messages postés121Date d'inscriptiondimanche 9 mars 2003StatutMembreDernière intervention29 avril 2009 18 oct. 2006 à 18:28
Pour autant que je me souvienne, IsDate retourne vrai si c'est une date, mais il ne contrôle aucunement la validité par rapport aux config régionales de l'utilisateur.
Ainsi, 38/10/1996 ne peut être valide car 38 n'est ni un jour ni un mois valide. Par contre 08/19/1996 en notation américaine mm/dd/aaa = 19/08/1996 en notation européene dd/mm/aaaa, donc la function retourne True dans les deux cas. Aucune anomalie de la part du système, cette fonction ne contrôle pas le format de la date...
... reste à coder la fonction qui va t'aider à faire ton contrôle...
cs_tulesais
Messages postés175Date d'inscriptionmercredi 2 juin 2004StatutMembreDernière intervention11 avril 20132 19 oct. 2006 à 08:36
BONJOUR !!!
... pas très beau sur marseille aujourd'hui :-(
donc ... pour en revenir à mon problème ... je souhaiterais contourner cette fonction 'isdate' ...
je vous livre donc mon code mais je bute sur la détection des années bissextiles.
Auriez vous une astuce à me donner ? :-)
Merci d'avance pour votre aide !!!
Select Case Mid(W_Date, 3, 2)
Case "01", "03", "05", "07", "08", "10", "12"
If Mid(W_Date, 1, 2) < "01" Or Mid(W_Date, 1, 2) > "31" Then
ANO
End If
Case "04", "06", "09", "11"
If Mid(W_Date, 1, 2) < "01" Or Mid(W_Date, 1, 2) > "30" Then
ANO
End If
Case "02" If Mid(W_Date, 5, 2) "96" Or Mid(W_Date, 5, 2) "00" Or _ Mid(W_Date, 5, 2) "04" Or Mid(W_Date, 5, 2) "08" Or _ Mid(W_Date, 5, 2) "12" Or Mid(W_Date, 5, 2) "16" Then
If Mid(W_Date, 1, 2) < "01" Or Mid(W_Date, 1, 2) > "29" Then
ANO
End If
Else
If Mid(W_Date, 1, 2) < "01" Or Mid(W_Date, 1, 2) > "28" Then
ANO
End If
End If
Case Else
ANO
End Select