Fonction de vérification de date

Soyez le premier à donner votre avis sur cette source.

Snippet vu 11 345 fois - Téléchargée 32 fois

Contenu du snippet

Ce bout de code permet de vérifier si une date entrée par l'utilisateur est valide ou non
Si la date est valide, la fonction retourne TRUE sinon elle retourne FALSE

Source / Exemple :


Public Function verif_date(ByRef la_date As String)
Dim jour As String
Dim mois As String
Dim annee As String
If la_date = "" Then
    Exit Function
End If

jour = Int(Left(la_date, 2))
annee = Int(Right(la_date, 4))
mois = Int(Mid(la_date, 4, 2))

verif_date = True

If mois > 12 Or mois < 1 Then
    verif_date = False
    Else
    Select Case mois
        Case Is = 1, 3, 5, 7, 8, 10, 12
            If jour > 31 Or jour < 1 Then
                verif_date = False
            End If
        Case Is = 4, 6, 9, 11
            If jour > 30 Or jour < 1 Then
                verif_date = False
            End If
        Case Is = 2
            If annee Mod 4 = 0 Or annee Mod 400 = 0 Then
                'Annee bisextile
                If jour > 29 Or jour < 1 Then
                    verif_date = False
                End If
                Else
                ' Annee pas bisextile
                If jour > 28 Or jour < 1 Then
                    verif_date = False
                End If
            End If
    End Select
End If

End Function

A voir également

Ajouter un commentaire Commentaires
Messages postés
336
Date d'inscription
jeudi 21 août 2008
Statut
Membre
Dernière intervention
19 juillet 2015

@manu9980 MERCI pour ton code
@crenaud76 et RADCUR, non monsieur isdate() n'est pas efficace toujours, et voici l'epreuve :
if isdate(12/02/2008) then
msgbox "true"
else
msgbox "false"
end if

'resultat toujours false ;)
Messages postés
1
Date d'inscription
dimanche 19 novembre 2000
Statut
Membre
Dernière intervention
20 juin 2005

Ce code ne fonctionne pas, je l'ai testé en mettant des caractères non numériques et il plante ... Un bon code doit prévoir que l'utilisateur peut saisir vraiment n'importe quoi non ? :)
Messages postés
831
Date d'inscription
samedi 15 mai 1999
Statut
Modérateur
Dernière intervention
18 juillet 2009

Ta méthode ne fonctionnera pas correctement avec une date US (mm/dd/yyyy)
Messages postés
282
Date d'inscription
lundi 29 septembre 2003
Statut
Membre
Dernière intervention
15 août 2012
2
Quand à moi, c'est une perte de temps car la fonction isdate() fait le même travail mais d'un autre côté, ça permet de maitriser certaines choses "basic" de vb.
Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
27
Excuses-moi de te casser ton coup mais la fonction IsDate() ne te convient pas ?

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.