1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
Sub ValidationDate(TextBox As Object)
Dim Reponse As Variant
Dim LaDate As String
2 Select Case Len(TextBox.Value)
Case 1
If CLng(TextBox.Value) > 3 Then
Reponse = MsgBox("Le jour ne peut pas commencer par " & TextBox.Value, vbOKOnly, "Erreur de saisie")
TextBox.Value = ""
Exit Sub
End If
Case 2
If CLng(TextBox.Value) > 31 Then
Reponse = MsgBox("Le mois ne peut avoir plus de 31 jours", vbOKOnly, "Erreur de saisie")
TextBox.Value = Left(TextBox.Value, 1)
Exit Sub
Else
TextBox.Value = TextBox.Value & "/"
End If
Case 4
If Right(TextBox.Value, 1) > 1 Then
Reponse = MsgBox("L'année ne peut avoir plus de 12 mois", vbOKOnly, "Erreur de saisie")
TextBox.Value = Left(TextBox.Value, 3)
Exit Sub
End If
Case 5
If CLng(Right(TextBox.Value, 2)) > 12 Then
Reponse = MsgBox("L'année ne peut avoir plus de 12 mois", vbOKOnly, "Erreur de saisie")
TextBox.Value = Left(TextBox.Value, 4)
Exit Sub
Else
TextBox.Value = TextBox.Value & "/"
End If
Case 8
LaDate = Left(TextBox.Value, 6) & "20" & Right(TextBox.Value, 2)
If Not IsDate(LaDate) Then
Reponse = MsgBox("Le " & TextBox.Value & " n'existe pas ", vbOKOnly, "Erreur de saisie")
TextBox.Value = ""
Exit Sub
End If
If CDate(LaDate) < DateMini Then
Reponse = MsgBox("La date doit être postérieure au " & DateMini, vbOKOnly, "Erreur de saisie")
TextBox.Value = ""
Exit Sub
End If
If CDate(LaDate) > DateMaxi Then
Reponse = MsgBox("La date doit être antérieure au " & DateMaxi, vbOKOnly, "Erreur de saisie")
TextBox.Value = ""
Exit Sub
End If
Valide = True
End Select
End Sub |
Partager