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
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.