bonsoir

je cherche à écrire un programme qui permet de calculer l’âge d’une personne à partir de sa Date de naissance
je dois contrôler le format de la saisie du champ «en cas d’erreur sur le type ou la loguer >10 afficher un message d’erreur
.
voilà mon essai sa fonctionne mais pas pour tous les contrôle exemple date > date actuelle

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Public Sub calcul_age()
        Dim Date_ca
        Dim age
        Dim datetimenow = DateTime.Now
        Date_ca = Format(Exercice5.da.Text, "dd/mm/yyyy")
 
        If Date_ca = "" Then
            MsgBox("Format de date saisie incorrect !")
            Exit Sub
        End If
 
        If Not IsDate(Exercice5.da.Text) Then
            MsgBox("Format de date saisie incorrect !")
            Exit Sub
        End If
 
        If Date_ca <> Format(Exercice5.da.Text, "dd/mm/yyyy") Then
            MsgBox("le format doit être jj/mm/aaaa !")
            Exit Sub
 
            If Date_ca > datetimenow Then
                MsgBox("La date doit être inférieure à la date d'aujourd'hui !")
                Exit Sub
            End If
        End If
 
 
        Dim datedenaissance = CDate(Exercice5.da.Text)
 
        age = CInt(Now.Year - datedenaissance.Year)
        If (datedenaissance.Month > Now.Month) Then
 
            age = age - 1
        End If
        If ((datedenaissance.Month = Now.Month) And (datedenaissance.Day > Now.Day)) Then
 
            age = age - 1
        End If
 
        Exercice5.age.Text = " Age : " & age & " ans"
 
    End Sub