Calculer l'age de la personne a partir de la date de naissance-
Fermé
VBA234
Messages postés
1
Date d'inscription
mardi 2 janvier 2018
Statut
Membre
Dernière intervention
2 janvier 2018
-
2 janv. 2018 à 23:04
Utilisateur anonyme - 3 janv. 2018 à 19:57
Utilisateur anonyme - 3 janv. 2018 à 19:57
A voir également:
- Vba calcul âge avec date de naissance
- Journal de ma naissance gratuit à imprimer - Télécharger - Histoire & Religion
- Calcul moyenne excel - Guide
- Jm date avis - Forum Consommation & Internet
- Clémence souhaite faire calculer automatiquement les prix de 30 produits dans trois devises. elle a déjà saisi une formule de calcul pour le tarif du premier produit dans la première devise. corrigez sa formule afin que recopiée vers le bas puis vers la droite, elle remplisse correctement tout le tableau. - Forum Excel
3 réponses
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
3 janv. 2018 à 08:03
3 janv. 2018 à 08:03
Bonjour,
Fonction VBA utilisable aussi dans une formule:
Fonction VBA utilisable aussi dans une formule:
Function Age(Date_nais) Dim Ans As Long, Mois As Long, Jours As Long Dim DNais As Date DNais = Replace(Date_nais, ".", "/") 'date au format "normal" Ans = (Year(Now()) - Year(DNais)) 'nombre annees Mois = (Month(Now()) - Month(DNais)) 'nombre de mois Jours = (Day(Now()) - Day(DNais)) 'nombre de jours If (Ans > 0 And Mois > 0) Or (Ans > 0 And Mois = 0 And Jours >= 0) Then Age = Ans Else Age = Ans - 1 End If End Function
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
3 janv. 2018 à 10:40
3 janv. 2018 à 10:40
Bonjour,
On peut aussi utiliser une fonction :
=ENT(FRACTION.ANNEE(DateDeNaissance;AUJOURDHUI()))
Ou en VBA :
On peut aussi utiliser une fonction :
=ENT(FRACTION.ANNEE(DateDeNaissance;AUJOURDHUI()))
Ou en VBA :
Private Function Age(DateDeNaissance As Date) As Integer Age = Int(Application.WorksheetFunction.YearFrac(DateDeNaissance, Now)) End Function
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
3 janv. 2018 à 10:49
3 janv. 2018 à 10:49
Bonjour Patrice33740, meilleur voeux
Pas avec son format date 23.04.1980 qui n'est pas "normal"
Pas avec son format date 23.04.1980 qui n'est pas "normal"
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
Modifié le 3 janv. 2018 à 11:03
Modifié le 3 janv. 2018 à 11:03
Bonjour f894009 et meilleurs vœux également
Ça fonctionne quel que soit le format de date utilisé (par exemple ici au format date Allemand(Autriche)) mais effectivement il faut (comme il le précise) que la cellule contienne une date mais aussi si c'est un texte.
Cdlt
Patrice
Ça fonctionne quel que soit le format de date utilisé (par exemple ici au format date Allemand(Autriche)) mais effectivement il faut (comme il le précise) que la cellule contienne une date mais aussi si c'est un texte.
Cdlt
Patrice
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
3 janv. 2018 à 11:10
3 janv. 2018 à 11:10
Re,
que la cellule contienne une date Ben oui, mais lui non, donc a voir
que la cellule contienne une date Ben oui, mais lui non, donc a voir
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
3 janv. 2018 à 16:19
3 janv. 2018 à 16:19
Re Whismeril,
VBA, j'ai deja mis un exemple. Il est aussi interessant d'utiliser la fonction de Partrice33740 car plus simple
VBA, j'ai deja mis un exemple. Il est aussi interessant d'utiliser la fonction de Partrice33740 car plus simple
Function Age(Date_nais) DNais = CDate(Replace(Date_nais, ".", "/")) 'date au format "normal" Age = Int(Application.WorksheetFunction.YearFrac(DNais, Now)) End Function
3 janv. 2018 à 13:16
Ce ne seait pas plus simple avec datediff?
3 janv. 2018 à 13:47
Oui, mais cette personne veut du VBA, alors ......!
3 janv. 2018 à 14:11
https://support.microsoft.com/fr-fr/office/datediff-fonction-e6dd7ee6-3d01-4531-905c-e24fc238f85f?ui=fr-fr&rs=fr-fr&ad=fr
3 janv. 2018 à 13:55
Petit detail: les cellules ne sont pas au formats date courants