Le calcul des âges sous Excel peut paraître simple : suffit-il de soustraire la date de naissance à la date du jour ? La réponse est non, malheureusement ! Vous pouvez tester, le résultat sera faux, Excel ne gère pas les années bissextiles. Si vous prenez l'exemple d'une personne née le 01/01/1987 et souhaitez calculer son âge au 01/01/2005, le résultat devrait être : 18 ans. Si vous utilisez la formule =01/01/2005-01/01/1987, le résultat, après avoir affecté un format correct à la cellule (aa" ans" mm" mois" jj" jours"), sera : 17 ans 12 mois 31 jours !
Pour pallier ce problème, nous allons utiliser la fonction DATEDIF. Cette fonction calcule la différence entre deux dates, en années, mois et jours. Ne la cherchez pas dans l'aide ou dans l'assistant fonctions, elle n'est pas référencée !
La syntaxe est la suivante : =DATEDIF(Date1;Date2;Intervalle)
où :
Date1 est la date à laquelle vous souhaitez calculer l'âge
Date2 est la date de naissance de la personne
Intervalle peut prendre différentes valeurs (bien respecter les guillemets)
:
| "y" | calcule la différence en nombre d'années |
| "m" | calcule la différence en nombre de mois |
| "d" | calcule la différence en nombre de jours |
| "ym" | calcule la différence en nombre de mois restants, après avoir soustrait le nombre d'années |
| "yd" | calcule la différence en nombre de jours restants, après avoir soustrait le nombre d'années |
| "md" | calcule la différence en nombre de jours restant, après avoir soustrait le nombre d'années et le nombre de mois |
Ainsi, si vous souhaitez afficher un âge avec le nombre d'années, de mois et de jours, vous devrez utiliser trois fois la fonction DATEDIF en concaténation, avec les intervalles respectifs : "y", "ym" et "md"
Exemple : Prenons le cas d'une personne née le 26 mars 1987 ; quel âge aura-t-elle le 1er janvier 2005 ? Pour obtenir uniquement le nombre d'années, la formule sera la suivante :
=DATEDIF("26/03/1987";"01/01/2005";"y")
Si vous souhaitez afficher l'âge de cette même personne au 1er janvier 2005, en années, mois et jours, la formule sera la suivante (nous avons mis la date de naissance en A1 et la date du jour en A2) :
=DATEDIF(A1;A2;"y")&DATEDIF(A1;A2;"ym")&DATEDIF(A1;A2;"md")

c'est-à-dire 17 ans, 9 mois et 6 jours.
La formule est constituée de trois fois la fonction DATEDIF avec des valeurs différentes pour les intervalles. Le signe & permet de concaténer chaque morceau.
Le résultat est juste même si l'affichage laisse quelque
peu à désirer ! Il suffit d'ajouter du texte et des espaces entre chaque
partie, à l'aide également de la concaténation :
=DATEDIF(A1;A2;"y")&" ans "&DATEDIF(A1;A2;"ym")&" mois "&DATEDIF(A1;A2;"md")&"
jours"
ce qui nous donnera le résultat suivant :

NB : si vous n'êtes pas familiarisé avec la concaténation, vous pouvez utiliser l'assistant de fonction Concaténer :

Le résultat est identique même si l'écriture de la formule est légèrement différent :
=CONCATENER(DATEDIF(A1;A2;"y");" ans ";DATEDIF(A1;A2;"ym");" mois ";DATEDIF(A1;A2;"md");"
jours")
