Calculer un âge dans Excel à partir d’une date de naissance est une opération courante. La question devient plus intéressante quand il faut ajouter une condition : distinguer automatiquement les personnes mineures des majeures. Plusieurs formules permettent d’y arriver, mais elles ne se valent pas toutes en fiabilité, surtout quand le seuil des 18 ans tombe pile sur la date du jour.
DATEDIF, EDATE et ANNEE.FRACTION : quelle formule calcul âge Excel choisir
Trois approches reviennent dans la plupart des cas d’usage. Leur comportement diffère sur un point précis : la gestion du jour anniversaire.
| Formule | Syntaxe type | Résultat | Limite principale |
|---|---|---|---|
| DATEDIF | =DATEDIF(A2;AUJOURDHUI(); »y ») | Âge en années entières | Fonction non documentée officiellement par Microsoft, héritée de Lotus 1-2-3 |
| ANNEE.FRACTION (YEARFRAC) | =ENT(ANNEE.FRACTION(A2;AUJOURDHUI())) | Âge en années entières (arrondi inférieur) | Peut renvoyer un résultat décalé d’un jour selon la convention de comptage choisie |
| EDATE / MOIS.DÉCALER | =SI(EDATE(A2;12*18)<=AUJOURDHUI(); »Majeur »; »Mineur ») | Test direct de majorité (vrai/faux) | Ne renvoie pas l’âge lui-même, seulement le statut |
DATEDIF reste la formule la plus répandue dans les tutoriels. Elle fonctionne correctement dans la grande majorité des situations. En revanche, son statut de fonction non documentée dans Excel signifie qu’elle n’apparaît pas dans l’auto-complétion et que Microsoft ne garantit pas sa pérennité.
La formule avec EDATE adopte une logique différente. Au lieu de calculer un écart en années, elle projette la date de naissance de 18 ans dans le futur et compare le résultat à la date du jour. Cette approche est recommandée dans des guides récents pour Excel 365, publiés en 2024-2025, pour les systèmes de suivi RH et de conformité.

Formule Excel pour tester la condition moins de 18 ans avec SI et EDATE
Le cas d’usage le plus fréquent : une colonne contient des dates de naissance, et il faut afficher « Mineur » ou « Majeur » dans la colonne voisine. La formule complète, en supposant la date de naissance en cellule A2 :
=SI(EDATE(A2;12*18)<=AUJOURDHUI(); »Majeur »; »Mineur »)
EDATE prend deux arguments : une date de départ et un nombre de mois. En écrivant 12*18 (soit 216 mois), on obtient la date exacte du 18e anniversaire. Si cette date est antérieure ou égale à aujourd’hui, la personne est majeure.
Pourquoi EDATE gère mieux le jour anniversaire que DATEDIF
Avec DATEDIF, la formule conditionnelle classique serait :
=SI(DATEDIF(A2;AUJOURDHUI(); »y »)>=18; »Majeur »; »Mineur »)
Cette version fonctionne dans la plupart des cas. La différence se manifeste dans un scénario limite : le jour exact du 18e anniversaire. DATEDIF compte les années complètes révolues, ce qui donne le bon résultat. EDATE compare directement les dates, ce qui produit un test plus lisible et plus facile à auditer dans un fichier partagé.
Pour un tableau RH consulté par plusieurs personnes, la lisibilité de la formule compte autant que son exactitude. Une formule qu’un collègue peut comprendre sans documentation réduit le risque d’erreur lors des modifications.
Erreurs fréquentes dans le calcul d’âge Excel avec condition
Deux problèmes reviennent régulièrement quand on combine calcul d’âge et condition dans Excel.
- La date de naissance n’est pas reconnue comme une vraie date par Excel. Si la cellule contient du texte formaté en date (saisie manuelle avec des tirets, import CSV mal configuré), toutes les formules renvoient une erreur. Vérifier en appliquant un format « Date » à la cellule : si l’affichage ne change pas, la donnée est textuelle.
- La division par 365,25 pour obtenir un âge décimal (formule type =(AUJOURDHUI()-A2)/365,25) produit des résultats approximatifs. Un test de majorité basé sur cette méthode peut basculer un jour trop tôt ou trop tard selon les années bissextiles. Cette approche est inadaptée pour un seuil légal comme la majorité.
- L’oubli de la fonction AUJOURDHUI() dans la formule fige le calcul à la date de création du fichier. Sans référence dynamique, l’âge ne se met pas à jour automatiquement à l’ouverture du classeur.

Compter les mineurs dans une liste Excel avec NB.SI.ENS
Une fois la colonne « Majeur/Mineur » remplie, compter le nombre de mineurs est immédiat :
=NB.SI(B2:B100; »Mineur »)
Cette formule compte toutes les cellules de la plage B2:B100 contenant exactement le texte « Mineur ». Pour un tableau plus complexe avec plusieurs critères (mineurs dans un département donné, par exemple), NB.SI.ENS accepte jusqu’à 127 paires critère/plage.
Alternative sans colonne intermédiaire
Si vous préférez éviter la colonne « Majeur/Mineur », une formule matricielle peut compter directement les personnes de moins de 18 ans à partir des dates de naissance :
=SOMMEPROD((EDATE(A2:A100;216)>AUJOURDHUI())*1)
SOMMEPROD évalue la condition pour chaque cellule de la plage et additionne les résultats (1 pour vrai, 0 pour faux). Le résultat donne le nombre exact de mineurs dans la liste sans créer de colonne supplémentaire.
Adapter la formule calcul âge Excel à d’autres seuils
Le seuil de 18 ans est le plus courant, mais la même logique s’applique à d’autres cas :
- Vérifier qu’un participant a au moins 16 ans pour une inscription : remplacer 12*18 par 12*16 dans la formule EDATE.
- Identifier les seniors de plus de 65 ans dans une base de données : =SI(EDATE(A2;12*65)<=AUJOURDHUI(); »Senior »; »Actif »).
- Combiner plusieurs tranches d’âge avec des SI imbriqués : =SI(EDATE(A2;216)>AUJOURDHUI(); »Mineur »;SI(EDATE(A2;12*65)<=AUJOURDHUI(); »Senior »; »Adulte »)).
La formule EDATE offre un avantage net pour ces déclinaisons : le seuil est exprimé directement en mois, ce qui rend la modification rapide et sans ambiguïté. Stocker le seuil dans une cellule dédiée (par exemple, C1 contenant 18) et écrire EDATE(A2;12*C1) permet de changer la condition sans toucher à la formule elle-même.
Le choix entre DATEDIF et EDATE dépend du contexte. Pour afficher un âge en années dans un tableau de bord, DATEDIF reste simple et efficace. Pour tester un seuil d’âge précis avec une condition, EDATE produit une formule plus stable et plus lisible, ce qui en fait le meilleur choix pour gérer les moins de 18 ans dans Excel.

