IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Calculer l’âge d’une personne [Débutant]


Sujet :

VB.NET

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2012
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 44
    Points : 31
    Points
    31
    Par défaut Calculer l’âge d’une personne
    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

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Bonjour,

    Dans le cadre de la résolution de ton exercice, tu peux te pencher sur DateTime.CompareTo et DateTime.TryParseExact
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  3. #3
    Membre éprouvé

    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations forums :
    Inscription : Mars 2012
    Messages : 691
    Points : 929
    Points
    929
    Par défaut
    Bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim birthday As String = "12/4/78"
            Dim date1 As DateTime = Convert.ToDateTime(birthday)
            Dim age As Integer
            Dim ndiff As New TimeSpan
            ndiff = Date.Now.Subtract(date1)
            age = ndiff.Days \ 365

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    @shayw
    Il a un problème de comparaison de date
    Citation Envoyé par iMech Voir le message
    voilà mon essai sa fonctionne mais pas pour tous les contrôle exemple date > date actuelle
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  5. #5
    Membre éprouvé

    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations forums :
    Inscription : Mars 2012
    Messages : 691
    Points : 929
    Points
    929
    Par défaut
    Ah

    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
     Dim birthday As String = TextBox1.Text
            Dim thisdate As Date
            Dim age As Integer
            Dim ndiff As New TimeSpan
            If Date.TryParseExact(birthday, "d", New CultureInfo("fr-FR"), Globalization.DateTimeStyles.None, thisdate) Then
                Select Case Date.Compare(thisdate, Convert.ToDateTime(Date.Now.ToString("d")))
                    Case 0, 1 : MessageBox.Show("date d'entrée doit être antérieur ")
                    Case -1 : ndiff = Date.Now.Subtract(thisdate)
                        age = ndiff.Days \ 365
                        If age = 0 Then
                            MessageBox.Show(ndiff.Days.ToString & " jours")
                        Else
                            MessageBox.Show(age.ToString & " ans")
                        End If
     
                End Select
            Else
                MessageBox.Show("date invalide ou non dans le format dd/mm/yyyy")
            End If

  6. #6
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    @shayw
    C'est sympa de donner une solution , mais je lui avais juste donné les liens pour qu'il travaille sur son exercice. (il existe aussi DateDiff pour le calcul)
    Merci quand même
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  7. #7
    Membre éprouvé

    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations forums :
    Inscription : Mars 2012
    Messages : 691
    Points : 929
    Points
    929
    Par défaut
    oui c'est vrai c'est plutôt à imech de chercher

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Calcul age d'une personne
    Par amirad dans le forum VB.NET
    Réponses: 6
    Dernier message: 29/07/2009, 11h55
  2. calculer l'age d'une personne
    Par Daniela dans le forum Débuter
    Réponses: 4
    Dernier message: 13/07/2009, 14h26
  3. [Sharepoint]:Colonne calculée sur une "Personne"
    Par st_vinja dans le forum SharePoint
    Réponses: 9
    Dernier message: 17/01/2008, 17h06
  4. Calcul de l'age d'une personne
    Par batstoon dans le forum Oracle
    Réponses: 2
    Dernier message: 04/12/2006, 13h50
  5. Calculer l'age d'une personne
    Par Oberown dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 27/09/2005, 14h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo