=DATEDIF(B2;AUJOURDHUI();"Y") renvoie l'âge en années entières d'une personne née à la date de B2. DATEDIF compte les années complètes entre deux dates, et AUJOURDHUI() (TODAY en anglais) fournit la seconde date : l'âge augmente donc de un à chaque anniversaire. Le tableau affiche les formules sous leur forme anglaise, avec des virgules, mais vous pouvez aussi les taper comme dans un Excel français, avec des points-virgules : =DATEDIF(B2;AUJOURDHUI();"Y").
| A | B | C | |
|---|---|---|---|
| 1 | Name | Born | Age |
| 2 | Ana | 1990-05-14 | 36 |
| 3 | Ben | 1985-11-30 | 40 |
| 4 | Chloe | 2001-02-28 | 25 |
| 5 | Dan | 1978-10-10 | 47 |
| 6 | Eva | 2010-07-04 | 16 |
=DATEDIF(B2;AUJOURDHUI();"Y")Les âges de la colonne C sont calculés à partir de la date du jour : ils changent au fil de l'année. Modifiez une date de naissance de la colonne B et l'âge voisin suit. La formule a trois arguments : la date de début (la date de naissance), la date de fin (aujourd'hui) et l'unité, "Y" pour des années complètes.
Âge à une date donnée
Pour obtenir l'âge à un jour fixe, comme la rentrée scolaire ou la date d'un contrat, placez ce jour dans une cellule et utilisez la cellule à la place de AUJOURDHUI(). Le $ de $F$2 garde la référence sur F2 quand la formule est recopiée vers le bas.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Name | Born | Age | As of | ||
| 2 | Ana | 1990-05-14 | 36 | 2026-10-01 | ||
| 3 | Ben | 1985-11-30 | 40 | |||
| 4 | Chloe | 2001-02-28 | 25 | |||
| 5 | Dan | 1978-10-10 | 47 | |||
| 6 | Eva | 2010-07-04 | 16 |
=DATEDIF(B2;$F$2;"Y")Le 2026-10-01, Ana a 36 ans et Dan 47 : son anniversaire du 10 octobre n'est pas encore passé. Mettez 2026-10-10 en F2 et Dan a 48 ans. Cette version donne aussi le même résultat à chaque ouverture du fichier, ce qui compte quand l'âge figure dans un rapport. Voir la page DATEDIF pour les autres unités.
Âge en années, mois et jours
DATEDIF a des unités pour ce qui reste après les années complètes : "YM" compte les mois après la dernière année complète, et "MD" les jours après le dernier mois complet. Reliez les trois avec & pour écrire l'âge sous forme de texte.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Born | Years | Months | Days | Age | As of |
| 2 | 1990-05-14 | 36 | 4 | 17 | 36 years, 4 months, 17 days | 2026-10-01 |
| 3 | 1978-10-10 | 47 | 11 | 21 | 47 years, 11 months, 21 days |
=B2&" years, "&C2&" months, "&D2&" days"Du 1990-05-14 au 2026-10-01, il y a 36 ans, 4 mois et 17 jours. Microsoft déconseille l'unité "MD", qui peut renvoyer un nombre de jours négatif ou faux dans certains cas, par exemple pour une naissance un 31. Vérifiez le nombre de jours quand une date de naissance tombe entre le 29 et le 31.
Calculer un âge sans DATEDIF
DATEDIF fonctionne dans toutes les versions d'Excel, mais elle n'apparaît ni dans la liste des fonctions ni dans la saisie semi-automatique des formules : certains lui préfèrent donc FRACTION.ANNEE (YEARFRAC en anglais). FRACTION.ANNEE(début;fin;1) renvoie le nombre d'années entre deux dates sous forme décimale, en comptant la longueur réelle de chaque année (base 1). ENT (INT) supprime la partie décimale.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Born | As of | DATEDIF | YEARFRAC |
| 2 | 1990-05-14 | 2026-10-01 | 36 | 36 |
| 3 | 1978-10-10 | 2026-10-01 | 47 | 47 |
| 4 | 2010-07-04 | 2026-10-01 | 16 | 16 |
=ENT(FRACTION.ANNEE(A2;B2;1))Les deux colonnes concordent : 36, 47 et 16. Sans ENT, FRACTION.ANNEE renvoie environ 16,24 pour la dernière ligne, ce qui sert quand vous avez besoin de l'âge sous forme décimale, par exemple dans une feuille de statistiques.
Pourquoi ne pas diviser par 365
Un raccourci courant est =ENT((F2-B2)/365) : le nombre de jours vécus divisé par le nombre de jours d'une année. Les années bissextiles ajoutent un jour tous les quatre ans, donc après quelques décennies la formule atteint l'âge suivant des jours avant l'anniversaire : 12 jours trop tôt pour un 48e anniversaire.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Born | As of | Days lived | Divide by 365 | DATEDIF |
| 2 | 1990-05-14 | 2026-10-01 | 13289 | 36 | 36 |
| 3 | 1978-10-10 | 2026-10-01 | 17523 | 48 | 47 |
=ENT(C2/365)Pour la personne née le 1978-10-10, diviser par 365 donne 48 le 2026-10-01, neuf jours avant ses 48 ans. DATEDIF donne 47. Diviser par 365,25 corrige la plupart des lignes mais se trompe encore à certaines dates : utilisez DATEDIF ou FRACTION.ANNEE.
Exercice : l'âge le jour de la rentrée
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Name | Born | Age | As of | |
| 2 | Ana | 2012-04-17 | 2026-09-01 |
À vous : En C2, calculez l'âge d'Ana en années entières à la date indiquée en E2.
Les vérifications cachées modifient la date de E2 : la formule doit donc la lire.
Pourquoi l'âge s'affiche comme une date
Si vous tapez la formule d'âge dans une cellule qui contient déjà une date, ou dans une colonne au format date, Excel garde le format date et affiche 36 sous la forme 1900-02-05 (le 36e jour du système de dates d'Excel ; avec des paramètres français, 05/02/1900). Le nombre sous-jacent est juste. Sélectionnez les cellules et choisissez Accueil > Format de nombre > Standard (ou appuyez sur Ctrl+Maj+~, Control+Maj+~ sur Mac) et l'âge apparaît.
Questions fréquentes
Quelle est la formule pour calculer un âge dans Excel ?
=DATEDIF(B2;AUJOURDHUI();"Y"), avec la date de naissance en B2. Elle compte les années complètes de la date de naissance à aujourd'hui : l'âge augmente le jour même de l'anniversaire, pas avant.
Comment calculer un âge à une date précise dans Excel ?
Mettez la date dans une cellule et utilisez-la à la place de AUJOURDHUI() : =DATEDIF(B2;$F$2;"Y") donne l'âge à la date de F2. Les signes $ gardent F2 fixe quand vous recopiez la formule vers le bas.
Comment calculer un âge dans Excel sans DATEDIF ?
Utilisez =ENT(FRACTION.ANNEE(B2;AUJOURDHUI();1)). FRACTION.ANNEE renvoie le nombre d'années entre les deux dates sous forme décimale, et ENT garde les années entières.
Pourquoi ma formule d'âge affiche-t-elle une date comme 1900-01-30 ?
La cellule est au format date, donc l'âge 30 s'affiche comme le 30e jour du calendrier d'Excel. Sélectionnez la cellule et choisissez Accueil > Format de nombre > Standard.
Pourquoi diviser par 365 donne-t-il un âge faux ?
Les années bissextiles ajoutent un jour tous les quatre ans, donc =ENT((AUJOURDHUI()-B2)/365) compte l'anniversaire quelques jours trop tôt : une personne née le 1978-10-10 a 48 ans selon cette formule le 2026-10-01, neuf jours avant ses 48 ans. DATEDIF compte des années civiles et n'a pas cette erreur.