Besoin de calculer l’âge dans Excel à partir d’une date de naissance, sans prise de tête ? Voici les formules prêtes à copier, testées avec AUJOURD’HUI() pour un calcul automatique au jour courant. Vous trouverez aussi les variantes utiles : âge à une date donnée, en années et mois, en années décimales, et les pièges à éviter.
Préparer vos données pour des résultats fiables
Placez la date de naissance en A2 (format Date). Si Excel n’identifie pas la valeur comme une date, convertissez-la : Données › Convertir › choisissez le format D/M/A si vos dates sont en jour/mois/année. Une cellule au mauvais format renverra des erreurs ou des âges incorrects.
Astuce de contrôle : appliquez provisoirement le format Nombre à A2. Si vous voyez un entier comme 40179, Excel a bien reconnu une date. Sinon, c’est du texte à convertir.
Âge en années complètes (la formule la plus fiable)
Pour afficher l’âge en années révolues à la date du jour :
=DATEDIF(A2;AUJOURDHUI(); »y »)
DATEDIF calcule l’écart complet entre deux dates. Avec « y », vous obtenez le nombre d’années révolues. C’est la méthode recommandée pour un âge administratif, car elle gère correctement les années bissextiles et les changements de mois et de jour.
Âge en années et mois (présentation détaillée)
Pour afficher par exemple 12 ans 3 mois :
=DATEDIF(A2;AUJOURDHUI(); »y »)& » ans « &DATEDIF(A2;AUJOURDHUI(); »ym »)& » mois »
Vous pouvez affiner avec les jours pour les cas où la précision au jour près est utile :
=DATEDIF(A2;AUJOURDHUI(); »y »)& » ans « &DATEDIF(A2;AUJOURDHUI(); »ym »)& » mois « &DATEDIF(A2;AUJOURDHUI(); »md »)& » jours »
Notez que « md » renvoie les jours restants après soustraction des années et des mois complets.
Âge à une date de référence (pas seulement aujourd’hui)
Pour figer l’âge à une date donnée, par exemple pour un état au 31/12/2026 en B2, remplacez AUJOURDHUI() par la cellule de référence :
=DATEDIF(A2;B2; »y »)
Et, en version détaillée :
=DATEDIF(A2;B2; »y »)& » ans « &DATEDIF(A2;B2; »ym »)& » mois « &DATEDIF(A2;B2; »md »)& » jours »
Âge en années décimales (âge « moyen », pratique pour des ratios)
Si vous avez besoin d’un âge décimal, par exemple 12,25 ans, utilisez ANNEE.FRAC qui renvoie la fraction d’année écoulée entre deux dates :
=ANNEE.FRAC(A2;AUJOURDHUI())
Pour un entier arrondi vers le bas avec cette méthode :
=ENT(ANNEE.FRAC(A2;AUJOURDHUI()))
Important : ANNEE.FRAC est utile pour des calculs statistiques, mais pour l’âge civil on préfère DATEDIF(« y »), car ANNEE.FRAC peut diverger d’une année révolue sur certains cas limites (jours d’anniversaire, années bissextiles). Gardez-le pour les besoins de moyenne ou de pondération.
Âge au prochain anniversaire et temps restant
Pour afficher l’âge qu’aura la personne à son prochain anniversaire :
=DATEDIF(A2;AUJOURDHUI(); »y »)+1
Pour les mois restants avant l’anniversaire :
=DATEDIF(AUJOURDHUI();DATE(ANNEE(AUJOURDHUI())+SI(DATE(ANNEE(AUJOURDHUI());MOIS(A2);JOUR(A2))<=AUJOURDHUI();1;0);MOIS(A2);JOUR(A2));"m")
Cette formule calcule la date du prochain anniversaire et l’écart en mois. Vous pouvez adapter en « md » pour les jours restants.
Âge en mois ou en jours (pédiatrie, suivi RH, essais)
Âge uniquement en mois complets :
=DATEDIF(A2;AUJOURDHUI(); »m »)
Âge en jours (utile pour des durées très courtes) :
=DATEDIF(A2;AUJOURDHUI(); »d »)
Ces unités sont pratiques pour les suivis nécessitant une granularité fine. Gardez toutefois à l’esprit qu’un affichage mixte années + mois est souvent plus lisible.
Formules prêtes à recopier sur une colonne
Si la colonne A contient les dates de naissance à partir de A2, copiez l’une des formules suivantes en B2 puis double-cliquez sur la poignée de recopie :
- Âge en années : =DATEDIF(A2;AUJOURDHUI(); »y »)
- Âge en années et mois : =DATEDIF(A2;AUJOURDHUI(); »y »)& » ans « &DATEDIF(A2;AUJOURDHUI(); »ym »)& » mois »
- Âge décimal : =ANNEE.FRAC(A2;AUJOURDHUI())
- Âge au 31/12/2026 (B1 contient 31/12/2026) : =DATEDIF(A2;$B$1; »y »)
Afficher proprement le résultat (mises en forme utiles)
Pour éviter les « 0 mois » ou « 0 jours », encapsulez avec SI :
=DATEDIF(A2;AUJOURDHUI(); »y »)& » ans »&SI(DATEDIF(A2;AUJOURDHUI(); »ym »)=0; » »; » « &DATEDIF(A2;AUJOURDHUI(); »ym »)& » mois »)
Pour une ligne plus élégante quand vous combinez plusieurs unités, JOINDRE.TEXTE est pratique :
=JOINDRE.TEXTE( » « ;VRAI;DATEDIF(A2;AUJOURDHUI(); »y »)& » ans »;SI(DATEDIF(A2;AUJOURDHUI(); »ym »)=0; » »;DATEDIF(A2;AUJOURDHUI(); »ym »)& » mois »);SI(DATEDIF(A2;AUJOURDHUI(); »md »)=0; » »;DATEDIF(A2;AUJOURDHUI(); »md »)& » jours »))
Avec l’argument VRAI, les éléments vides sont ignorés, ce qui évite les doubles espaces et unités à zéro.
Erreurs fréquentes et cas particuliers à connaître
1) Cellules « texte » déguisées en dates. Si DATEDIF ou ANNEE.FRAC renvoient #VALEUR!, vos dates sont probablement stockées en texte. Passez par Données › Convertir, ou utilisez VALEUR pour transformer une chaîne « 15/08/2012 » en date réelle.
2) Séparateur d’arguments. En français, Excel utilise le point-virgule ; n’écrivez pas de virgule dans les formules.
3) Année bissextile et anniversaires le 29 février. DATEDIF(« y ») gère correctement l’âge civil, y compris pour une naissance le 29/02. Les méthodes arithmétiques basées sur les années seules ou ANNEE.FRAC peuvent diverger le jour exact de l’anniversaire. Pour un affichage strict en années révolues, restez sur DATEDIF(« y »).
4) Fonction absente dans l’autocomplétion. DATEDIF n’apparaît pas toujours dans la liste des fonctions, mais elle est bien prise en charge. Saisissez-la manuellement exactement comme indiqué.
5) Réglage régional et ordre jour/mois/année. Une date tapée en 03/04/2008 peut être interprétée comme 3 avril ou 4 mars selon le paramétrage régional. Pour lever toute ambiguïté, saisissez 03-04-2008 puis appliquez le format Date local, ou utilisez une date à trois lettres pour le mois, par exemple 03-avr-2008.
Choisir la bonne méthode selon le besoin
Âge administratif ou affichage « X ans » : DATEDIF(A2;référence; »y »). C’est le standard robuste, insensible aux années bissextiles.
Âge « lisible » pour un public non technique : concaténez années + mois avec DATEDIF « ym ».
Âge pour calculs statistiques, pondérations ou moyennes : ANNEE.FRAC(A2;référence). Pour une valeur entière avec cette approche, entourez d’ENT().
Scène concrète : dans un tableau d’inscriptions sportives, vous filtrez les 13-15 ans « au 31 août 2026 ». Placez 31/08/2026 en B1, puis utilisez en C2 =DATEDIF(A2;$B$1; »y ») et filtrez C sur 13 à 15. Résultat immédiat.
Dépannage rapide si le résultat ne s’affiche pas
La cellule affiche une date au lieu d’un nombre. Changez le format de la cellule résultat en Standard ou Nombre.
Vous voyez #NOM? Vérifiez l’orthographe exacte de la fonction en français : AUJOURDHUI(), ANNEE.FRAC(), ENT(), JOINDRE.TEXTE().
Le résultat reste à zéro. Confirmez que la date de naissance est antérieure à la date de référence et que les deux cellules sont de vrais champs Date.
À retenir
Pour calculer l’âge dans Excel à partir d’une date de naissance, utilisez en priorité DATEDIF avec « y » et, si besoin, complétez avec « ym » et « md ». Réservez ANNEE.FRAC aux usages analytiques. En copiant ces formules, vous obtiendrez un âge juste aujourd’hui, à une date figée, en années seules ou en détail, sans retraiter vos données ailleurs.
Sources
Microsoft Support : DATEDIF (fonction) : https://support.microsoft.com/fr-fr/excel/functions/datedif-function
Microsoft Support : Calculer l’âge : https://support.microsoft.com/fr-fr/excel/calculate-age