Bonjour,
J'ai créé un Userform pour alimenter une feuille excel. Dans ce Userform, il y a une TextBox (TextDDN) qui alimente une colonne Date de Naissance:
Feuil2.Cells(nbligne, i) = CDate(TextDDN.Text)
La date est formatée dans la TextBox suivant le code :
Private Sub TextDDN_Change()
If Len(TextDDN.Text) = 2 Or Len(TextDDN.Text) = (2 + 2 + 1) Then
TextDDN.Text = TextDDN.Text & "/"
TextDDN.SelStart = Len(TextDDN.Text)
End If
TextDDN.MaxLength = 10
Si le format ne convient pas :
If Not IsDate(UserForm1.TextDDN.Text) Then
MsgBox "Date invalide"
UserForm1.TextDDN.Text = ""
TextDDN.SetFocus
Exit Sub
End If
cela fonctionne quand la date est cohérente dans ma TextBox.
Mais si je me trompe en remplissant la date dans ma TextBox : jour < 12 et mois > 12 , alors dans ma feuille excel, jours et mois sont inversés (ex 12/15/2013 devient 15/12/2013)
par contre si jours >12 et mois >12 alors là MsgBox se déclenche "Date invalide".
Merci pour votre aide.
J'ai créé un Userform pour alimenter une feuille excel. Dans ce Userform, il y a une TextBox (TextDDN) qui alimente une colonne Date de Naissance:
Feuil2.Cells(nbligne, i) = CDate(TextDDN.Text)
La date est formatée dans la TextBox suivant le code :
Private Sub TextDDN_Change()
If Len(TextDDN.Text) = 2 Or Len(TextDDN.Text) = (2 + 2 + 1) Then
TextDDN.Text = TextDDN.Text & "/"
TextDDN.SelStart = Len(TextDDN.Text)
End If
TextDDN.MaxLength = 10
Si le format ne convient pas :
If Not IsDate(UserForm1.TextDDN.Text) Then
MsgBox "Date invalide"
UserForm1.TextDDN.Text = ""
TextDDN.SetFocus
Exit Sub
End If
cela fonctionne quand la date est cohérente dans ma TextBox.
Mais si je me trompe en remplissant la date dans ma TextBox : jour < 12 et mois > 12 , alors dans ma feuille excel, jours et mois sont inversés (ex 12/15/2013 devient 15/12/2013)
par contre si jours >12 et mois >12 alors là MsgBox se déclenche "Date invalide".
Merci pour votre aide.