Calculer l’âge à partir d’une date de naissance
Calculez l’âge dans Excel avec DATEDIF ou YEARFRAC, fixez une date de référence et gérez les dates futures ou invalides.
Méthode 1 : années révolues avec DATEDIF
=DATEDIF(A2,TODAY(),"Y") renvoie le nombre d’années complètes entre la date de naissance et aujourd’hui. L’unité "Y" exclut l’année inachevée : le résultat change donc à la date d’anniversaire et non le 1er janvier. Mettez la cellule de résultat au format Standard ou Nombre, pas au format date.
Pour un rapport qui ne doit pas changer demain, placez la date de référence en E1 et utilisez =DATEDIF(A2,$E$1,"Y"). Étiquetez clairement E1 comme Date de référence. Cela rend reproductibles les rapports de paie, d’éligibilité et d’historique ; TODAY ne convient que pour un tableau de bord vivant où le changement automatique est voulu. Le total en mois s’obtient avec =DATEDIF(A2,$E$1,"M"), et une règle d’éligibilité comme =IF(DATEDIF(A2,$E$1,"Y")>=18,"Adult","Minor") garde le seuil visible dans la formule. Pour les mois restants, =DATEDIF(A2,$E$1,"YM") renvoie les mois écoulés depuis la dernière année complète.
Méthode 2 : âge décimal avec YEARFRAC
Quand une analyse a besoin d’un âge approché incluant une partie de l’année en cours, utilisez =YEARFRAC(A2,$E$1,1). La base 1 utilise les jours réels dans les années réelles. Ne divisez pas simplement l’écart en jours par 365 : les années bissextiles font dériver le résultat. N’arrondissez que pour l’affichage ou selon une règle métier documentée.
L’âge décimal ne remplace pas l’âge révolu dans les décisions réglementaires : 17,99 reste 17 années révolues. Précisez si l’exigence porte sur les années révolues, les années décimales, les mois ou les jours avant de choisir une formule.
Valider les dates et les cas particuliers
Excel stocke les dates reconnues sous forme de numéros de série. Une date de naissance importée en texte peut provoquer une erreur ou une comparaison fausse ; testez avec ISNUMBER et corrigez l’import. N’utilisez DATEVALUE que si le format du texte est cohérent et non ambigu, et préférez les imports au format ISO aux chaînes comme 03/04/05.
Une date de naissance future fait renvoyer #NUM! à DATEDIF. Signalez-la avec =IF(A2>$E$1,"Check date",DATEDIF(A2,$E$1,"Y")). La gestion d’erreur doit signaler le problème de données plutôt que convertir en silence chaque échec en zéro. Pour une personne née un 29 février, demandez au responsable de la règle comment traiter une année non bissextile ; DATEDIF considère l’anniversaire comme atteint le 1er mars.
Erreurs fréquentes
Utiliser =YEAR(TODAY())-YEAR(A2) surestime l’âge avant l’anniversaire de cette année. Utiliser TODAY dans un rapport archivé fait changer les sorties passées. Des arguments inversés (date de fin en premier) donnent #NUM!, et DATEDIF est une fonction de compatibilité qu’Excel ne suggère pas pendant la saisie, bien qu’elle fonctionne. Conservez la date de référence à côté des résultats exportés afin de pouvoir interpréter l’âge plus tard.
À vous de jouer
En C2, calculez les années révolues entre A2 et la date de référence en B2.
| A | B | C | |
|---|---|---|---|
| 1 | Birth date | As of | Age |
| 2 | 5/20/1990 | 4/1/2026 | |
| 3 | 1/15/2000 | 1/15/2026 | |
| 4 | 12/30/1985 | 12/29/2025 |
Réponse : =DATEDIF(A2,B2,"Y")
Exemple vérifié
Dates de naissance en colonne A et dates de référence en colonne B. La dernière personne a son anniversaire demain : son âge n’a donc pas encore changé.
| A | B | |
|---|---|---|
| 1 | Birth date | As of |
| 2 | 1990-05-20 | 2026-04-01 |
| 3 | 2000-01-15 | 2026-01-15 |
| 4 | 1985-12-30 | 2025-12-29 |
| 5 | 2000-02-29 | 2025-02-28 |
| Formule | Résultat |
|---|---|
=DATEDIF(A2,B2,"Y") | 35 |
=DATEDIF(A2,B2,"YM") | 10 |
=YEAR(B2)-YEAR(A2) | 36 |
=DATEDIF(A3,B3,"Y") | 26 |
=DATEDIF(A4,B4,"Y") | 39 |
=DATEDIF(A5,B5,"Y") | 24 |
=IF(A2>B2,"Check date",DATEDIF(A2,B2,"Y")) | 35 |
Erreurs fréquentes
- Soustraire les numéros d’année sans vérifier si l’anniversaire est passé.
- Utiliser
TODAYalors que le rapport exige une date de référence fixe. - Traiter du texte ambigu comme une date fiable.
Questions fréquentes
Pourquoi DATEDIF n’est-elle pas proposée pendant la saisie ?
DATEDIF est conservée pour la compatibilité et n’apparaît pas dans la liste des fonctions, mais Excel prend en charge la formule.
Comment calculer l’âge à une date précise ?
Stockez cette date dans une cellule et utilisez-la comme deuxième argument de DATEDIF.
Comment renvoyer des années et des mois ?
Combinez DATEDIF avec "Y" pour les années et "YM" pour les mois restants, avec des libellés clairs.
Pourquoi mon âge s’affiche-t-il comme une date ?
La cellule de résultat a un format de nombre de type date. Changez-le en Standard ou Nombre.
Mettre la compétence en pratique
Poursuivez avec une leçon FormulaCamp vérifiée (en anglais) : Tenure, Deadlines, Weekdays (en anglais)
Ouvrir la leçon (en anglais)