Salut
ce que tu peux faire c'est créer une fonction qui te renvoie si ce que l'utilisateur a saisi est bien une date au format jj/mm/aaaa:
Function date_valide(chaine As String) As Boolean
Dim trouve As Boolean
Dim lg As Integer
Dim i As Integer
lg = Len(chaine)
If lg <> 10 Then
date_valide = False
Else
trouve = True
i = 1
While i <= lg And trouve
Select Case i
Case 1, 2, 4, 5, 7, 8, 9, 10: trouve = IsNumeric(Mid(chaine, i, 1))
Case Else: trouve = (Mid(chaine, i, 1) = "/")
End Select
i = i + 1
Wend
If trouve Then
Select Case Mid(chaine, 4, 2)
Case 1, 3, 5, 7, 8, 10, 12: trouve = Mid(chaine, 1, 2) >= 1 And Mid(chaine, 1, 2) <= 31
Case 2: trouve = Mid(chaine, 1, 2) >= 1 And Mid(chaine, 1, 2) <= 29
Case 4, 6, 9, 11: trouve = Mid(chaine, 1, 2) >= 1 And Mid(chaine, 1, 2) <= 30
Case Else: trouve = False
End Select
End If
date_valide = trouve
End If
End Function
Ensuite tu l'appel comme ça :
If Not date_valide(
nomtextebox) Then
MsgBox "La date saisie n'est pas valide"
end if
PS: la fonction n'est peut être pas au point, je viens de l'écrire vite fait ;)
Chup