Erreur de saisie dans une textbox date

Bonjour à tous,

Je m'essaie sur un formulaire a mettre une date dans une textbox.

Jusque là tout va bien :)

mais je souhaite informer l'utilisateur lorsque la saisie ne sera pas conforme, et là je coince...

voici mon code pour cette action:

Private Sub TextBox_visite_keypress(ByVal KeyAscii As MSForms.ReturnInteger)

If Not ((KeyAscii > 46 And KeyAscii < 58)) Then

KeyAscii = 0

End If

End Sub

Private Sub TextBox_visite_AfterUpdate()

On Error GoTo msgerreur
TextBox_visite = Format(TextBox_visite, "dd/mm/yyyy")
Exit Sub
msgerreur:
MsgBox ("Le format de date doit être jj/mm/aaaa")
TextBox_visite = Empty
End Sub

Pourriez vous m'indiquer pourquoi lorsque je test mon formulaire, en renseignant un format non correcte ex: 456/654 il ne me dit rien ?

La conversion au format date fonctionne même si je renseigne 4563 il me met 28/06/1912 dans la textbox et pas le message d'erreur?

Merci de votre aide.

Bonjour,

Le fait de mettre :

On Error GoTo msgerreur

désactive la reconnaissance des erreurs. Mets :

If Not IsDate(TextBox_visite.Value) Then GoTo msgerreur

Quant à "4563", c'est parce qu'Excel pour Windows commence à compter les jours à partir du 01/01/1900, qui est le jour 1. Le jour 4563 est donc le 28/05/1912. Pour le voir, entre 4563 dans une cellule et met la cellule au format date.

Daniel

Ce que je viens d'écrire est inexact. Le fait de mettre :

Le fait de mettre :

On Error GoTo msgerreur

fera que le code se débranchera s'il détecte une erreur VBA.Or la commande Format ne retourne pas d'erreur.

Daniel

Merci beaucoup DanielC

Rechercher des sujets similaires à "erreur saisie textbox date"