Textbox1 vba erreur date
mickysor
-
eriiic Messages postés 25847 Date d'inscription Statut Contributeur Dernière intervention -
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
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
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
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
Bonjour,
Juste au passage, ne serait-il pas plus simple d'utiliser le contrôle [Calendar] pour entrer les dates .... dans votre formulaire (UserForm) !
Juste au passage, ne serait-il pas plus simple d'utiliser le contrôle [Calendar] pour entrer les dates .... dans votre formulaire (UserForm) !
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!