Calcul âge VBA

nextrevolution

XLDnaute Occasionnel
Bonjour j'aimerais calculer l'âge à partir de la date de naissance en VBA.
J'ai pu trouver des codes sur le forum mais j'arrive pas a les appliquer.

Je vous joins mon fichier exemple avec le code dans l'userform.

Je vous remercie d'avance pour vos réponses
 

Pièces jointes

  • date de naissance.xls
    22 KB · Affichages: 622
  • date de naissance.xls
    22 KB · Affichages: 624
  • date de naissance.xls
    22 KB · Affichages: 655
Dernière édition:

nextrevolution

XLDnaute Occasionnel
Re : Calcul âge VBA

Pour ton code améliorer Renauder, lorsque je supprime manuellement j'ai pas de problème mais quand je fais supprimer par une macro il y a denouveau la même erreur.

Je fais:

Code:
cboJour.Value = ""
cboMois.Value = ""
cboAnnee.Value = ""

Par hasard il y a possibilité que les années soit affichées en ordre décroissant?
 

RENAUDER

Nous a quitté
Repose en paix
Re : Calcul âge VBA

Pour ton code améliorer Renauder, lorsque je supprime manuellement j'ai pas de problème mais quand je fais supprimer par une macro il y a denouveau la même erreur.

Je fais:

Code:
cboJour.Value = ""
cboMois.Value = ""
cboAnnee.Value = ""

Par hasard il y a possibilité que les années soit affichées en ordre décroissant?

Elle est où cette macro.

Je te propose aussi de modifier le test de la bonne date. Le faire lorsque tu valides les données.
Code:
Sub cmdValider_click()
    madate = "29/13/2009"
    On Error GoTo Suite
    If IsDate(CDate(madate)) Then
        MsgBox "Bonne date"
    Else
    End If
    Exit Sub
Suite:
    Resp = MsgBox("Vous avez choisi de mauvaises valeurs (Février, 30 ou 31 jours)", vbInformation + vbOKOnly, "Calculer votre age")
End Sub
 
Dernière édition:

nextrevolution

XLDnaute Occasionnel
Re : Calcul âge VBA

Bonjour,
Modifies cette ligne, ça être bon
.Offset(0, 4).Value = Format(cboJour & "/" & cboMois & "/" & cboAnnee, "mm/dd/yyyy")

Merci ça fonctionne et les calculs aussi. Je test la suite.


Bonjour,
Pour les années à l'envers
Code:
Ecart = Year(Date) - 1969
    For a = 0 To Ecart
        Me.cboAnnee.AddItem Year(Date) - a
    Next a

Encore merci, c'est bon c'est inversé.


Elle est où cette macro.

Elle est faite lorsqu'on clique sur ajouter.


Elle est où cette macro.

Je te propose aussi de modifier le test de la bonne date. Le faire lorsque tu valides les données.
Code:
Sub cmdValider_click()
    madate = "29/13/2009"
    On Error GoTo Suite
    If IsDate(CDate(madate)) Then
        MsgBox "Bonne date"
    Else
    End If
    Exit Sub
Suite:
    Resp = MsgBox("Vous avez choisi de mauvaises valeurs (Février, 30 ou 31 jours)", vbInformation + vbOKOnly, "Calculer votre age")
End Sub

C'est plus intéressant mais j'arrive pas à suprimmer l'ancien test sans que sa bogue parce que je laisse le calcule de l'âge au même niveau.
De plus je pense ça pourrait résoudre mon problème d'incompabilité avec la vérification de l'âge.
 
Dernière édition:

nextrevolution

XLDnaute Occasionnel
Re : Calcul âge VBA

Est ce qu'une âme charitable pourrait me donner une piste pour enlever le bogue lorsque j'efface avec la macro?

cliquer sur modifier - remplir les cellule de l'âge - cliquer sur ajouter
A ce moment là les cellule de l'âge doit se remettre à zéro.
(j'ai mis en commentaire ce que j'avais fait pour effacer les cellule de l'âge au niveau du bouton ajouter)
 

Statistiques des forums

Discussions
312 538
Messages
2 089 403
Membres
104 159
dernier inscrit
isbouk