petit algorithme qui teste si un nombre correspond à une date valide. Le format du nombre saisi doit être jjmmaaaa mais vous pouvez adapter ce code facilement pour tout autre format. Le code est fait pour accepter les années à partir de 1900, nombre que vous choisissez comme il vous plaît !
la fonction retourne ok qui vaut 0 si la date est validée, 1 sinon.
Source / Exemple :
Function verifdate(ByVal datesaisie As Integer)
Dim ok As Integer
ok = 0
'date sur 8 caractères
If datesaisie > 31129999 Or datesaisie < 1010000 Then
ok = 1
Else
'jour entre 1 et 31
Dim jour As Integer
jour = datesaisie / 1000000
If jour > 31 Or jour < 1 Then
ok = 1
Else
'mois entre 1 et 12
Dim mois As Integer
mois = datesaisie / 10000 - jour * 100
If mois > 12 Or mois < 1 Then
ok = 1
Else
'annee à partir de 1900
Dim annee As Integer
annee = datesaisie - jour * 1000000 - mois * 10000
If annee < 1900 Then
ok = 1
Else
'mois à 30 jours
If (mois = 2 Or mois = 4 Or mois = 6 Or mois = 9 Or mois = 11) And jour = 31 Then
ok = 1
Else
'cas particulier : février
Dim quotient As Integer = annee / 4
Dim quotient2 As Integer = annee / 400
If quotient * 4 = annee And quotient2 * 400 <> annee Then
If mois = 2 And jour > 29 Then
ok = 1
End If
Else
If mois = 2 And jour > 28 Then
ok = 1
End If
End If
End If
End If
End If
End If
End If
Return ok
End Function
Conclusion :
merci d'être indulgent, c'est le premier code que je met sur le site !
C'est peut être un peu long mais au moins c'est clair, je ne pense pas avoir oublié de cas.
9 août 2007 à 14:43
28 nov. 2006 à 14:26
Au moins avec cette fonction on restreint vraiment les possibiltés : la date doit être sur 8 au format DDMMYYYY et respecter un certain nombre de conditions...
Merci
27 sept. 2005 à 13:21
Repeter n fois la meme erreur et chronometrer le temps que ça prend n'est pas une bonne idée.
La premiere fois l'erreur va prendre beaucoup de temps a etre generer, les fois suivantes s'est quasi instantané.
Autre chose, c'est byzarre mais chez moi le temps que prend .NET a generer um erreur est de loin plus long que VB.
Faut dire aussi l'object erreur de .NET est trés complet.
24 sept. 2005 à 02:13
pour le VB, c'est VB6.0 qu'il faut utiliser
pour VB.net c'est VB.net lol
en passant, c'est pas le sujet ici. Tu as un forum sur le site pour ça et un engin de recherche pour trouver tes réponses si elles ont déjà été posé
23 sept. 2005 à 20:01
comment fais-je pour lire les apllications VB. Je programme en VB, mais par l'intermédiaire de access.
Je transpute le code dans access, mais la plupart du temps, il me dit que c'est une belle erreur. Que dois-je faire??
Merci
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.