Formatage date dans textbox

Soyez le premier à donner votre avis sur cette source.

Snippet vu 19 840 fois - Téléchargée 38 fois

Contenu du snippet

Ce code permet de formater le texte saisie dans un textbox (appelé ici Txt_Date).
Cette action se fait lorsque l'on valide le contenu du textbox (changement de contrôle).
Vérifie que la saisie c'est bien des chiffres qui peuvent correspondent à une date. Formatage de la saisie si jjmmaa ou jjmmaaaa pour arriver à un format jj/mm/aaaa.
A la fin de la procédure, le texte du textbox est formatée ou un message d'erreur apparaît.

Source / Exemple :


Private Sub Txt_Date_Validate(Cancel As Boolean)
' Variable de formatage de la date
Dim BDC_Date As String

    ' Vérification si la date existante est déjà correcte
    If IsDate(Txt_Date.Text) Then
    ' La date saisie est correcte
    Else
        ' La date saisie n'est pas formatée
        If IsNumeric(Txt_Date.Text) Then
            ' La date est au format jjmmaa
            If Len(Txt_Date.Text) = 6 Then
                BDC_Date = Left(Txt_Date, 2) & "/" & Mid(Txt_Date, 3, 2) & "/20" & Right(Txt_Date, 2)
            End If
            ' La date est au format jjmmaaaa
            If Len(Txt_Date.Text) = 8 Then
                BDC_Date = Left(Txt_Date, 2) & "/" & Mid(Txt_Date, 3, 2) & "/" & Right(Txt_Date, 4)
            End If
        End If
        ' Vérification que la date formatée est correcte
        If IsDate(BDC_Date) Then
            Txt_Date.Text = BDC_Date
        Else
            ' Dans les cas ou la saisie n'est pas correcte
            MsgBox "La date est incorrecte : " & Txt_Date.Text
            Txt_Date.SetFocus
        End If
    End If
End Sub

A voir également

Ajouter un commentaire Commentaires
Messages postés
15
Date d'inscription
jeudi 16 janvier 2003
Statut
Membre
Dernière intervention
13 février 2009

Hello !
Bravo pour tes codes... continu...ne lache pas....mais plus de source ........ merci......
Messages postés
78
Date d'inscription
samedi 16 mars 2002
Statut
Membre
Dernière intervention
7 septembre 2006

Tu peux aussi utiliser la fonction format :
BDC_Date = Format(txt_date,"DD/MM/YYYY")
Messages postés
16
Date d'inscription
dimanche 16 décembre 2001
Statut
Membre
Dernière intervention
29 janvier 2003

c'est bien mais tu peut plus simplement utiliser une maskedbox, c'est une zone de saisie ou tu peut mettre un masque de saisie donc tu ne peut taper dedans que dans le format que tu veut le reste est inutile
Bye

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.