Textbox1 vba erreur date

mickysor -  
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
je souhaiterais que dans une textbox au format date dd.mm.yy
que si je tape un mauvais mois :exemple"10.15.13" qu'il me fasse erreur.
J'ai un code vba pour lequel ca marche très bien pour les mois mais pas les jours!
exemple si je tape "45.03.13" il ne m'affiche aucune erreur!!
j'ai oublié de préciser. il faut que la textbox accept le format xx.xx.xx
si la date n'est pas trouvée.
voici mon code vb:
Private Sub TextBox4_Change()
Dim Valeur As String
TextBox4.MaxLength = 8
Valeur = Len(TextBox4)
If Valeur = 2 Or Valeur = 5 Then
TextBox4 = TextBox4 & "."
ElseIf Valeur = 8 Then

If Not IsDate(Format(Replace(TextBox4, ".", "/"), "dd/mm/yy")) Then

MsgBox "Format incorrect"
TextBox4 = ""
Exit Sub
Else

End If

End If
End Sub

4 réponses

mickysor
 
je crois que j'ai mal tapé le code vba:

mais il ne détecte pas un mauvais mois tapé exemple : 12.34.13
cette erreur n'est pas détectée
pour le jour ça ne marche pas non plus

le voici a nouveau:

Private Sub TextBox4_Change()
Dim Valeur As String

TextBox4.MaxLength = 8
Valeur = Len(TextBox4)
If Valeur = 2 Or Valeur = 5 Then
TextBox4 = TextBox4 & "."
ElseIf Valeur = 8 Then
If Not IsDate(Format(Replace(TextBox4, ".", "/"), "dd/mm/yy")) Then
MsgBox "Format incorrect"
TextBox4 = ""
Exit Sub
Else

End If

End If

End Sub
0
Le Pingou Messages postés 12713 Date d'inscription   Statut Contributeur Dernière intervention   1 467
 
Bonjour,
Juste au passage, ne serait-il pas plus simple d'utiliser le contrôle [Calendar] pour entrer les dates .... dans votre formulaire (UserForm) !

0
mickysor
 
bonsoir,
désolé mais qu'est ce que le controle calendar?
je débutes vraiment en vba et les textbox
0
mickysor
 
je viens de trouver calendar.cette idée ne me convient pas du tout.trop encombrant et cette macro me permet de renommer une multitude d'images et donc chaque image a une date qu'il faut mettre dans une textbox.dans l'ensemble le code vba précédent est intéréssant sauf que j'ai l'impression qu'on pourrait peu être l'améliorer afin de ne pas taper pour le jour 51 le mois 13 et l'année 2080!
0
Le Pingou Messages postés 12713 Date d'inscription   Statut Contributeur Dernière intervention   1 467
 
Bonjour,
Merci du retour.
Je pense que je n'ai pas compris votre problème.
Désolé, car c'est le plus simple si vous utilisez un formulaire avec zone de texte.
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Bonsoir,

Prend le DateTimePicker Control.
Tu peux soit utiliser le calendrier, soit saisir, et tu ne peux avoir qu'une date valide.

eric
0