Formatage date dans textbox

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

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.