Excel: Calculer l’âge en années, mois et jours 6


Cet article est la suite de Excel: calculer l'âge actuel et vous trouverez ici les formules qui vous permettront d'afficher l'âge en années, mois et jours.

Si vous voulez afficher l'âge de manière dynamique (chaque jour, la valeur est adaptée automatiquement) sous le format qui vous convient et qui reprend séparément les valeurs des années, mois et jours. Dans les exemples ci-dessous, le format choisi est: "??a ??m ??j" (donc par exemple "25a 10m 3j"). Mais vous pouvez choisir d'autres formats – grâce aux formules dans cet article, vous obtiendrez les trois valeurs (années, mois et jours) séparément et vous pouvez ainsi choisir la manière dont vous les afficherez.

Voici donc les différentes étapes (formules). Pour les exemples, on assume que la date de naissance se trouve dans la cellule D2.

 

Calcul de l'âge – étape 1: formule pour le nombre d'années complètes

Voici donc la formule qui nous indiquera le nombre des années complètes depuis la naissance. On utilise la formule "cachée" d'Excel – DATEDIF.

=DATEDIF(D2;AUJOURDHUI();"y")

Dans Excel, on aura donc ceci:

Calculer_age_en_Excel-annees

Calcul de l'âge – étape 2: formule pour le nombre de mois complets (pour l'année non achevée)

Ensuite, on calcule le nombre de mois complets depuis le début de l'année de vie en cours:

=DATEDIF(D2;AUJOURDHUI();"m")-DATEDIF(D2;AUJOURDHUI();"y")*12

Ce qui nous donne:

Calculer âge en Excel: mois

Calcul de l'âge – étape 3: formule pour le nombre de jours complets (pour le mois non achevé)

Et finalement, le nombre de jours complets écoulés depuis le début du mois inachevé:

=DATEDIF(DATE(ANNEE(D2)+DATEDIF(D2;AUJOURDHUI();"y");MOIS(D2)+DATEDIF(D2;AUJOURDHUI();"m")-DATEDIF(D2;AUJOURDHUI();"y")*12;JOUR(D2));AUJOURDHUI();"d")

En pratique:

Calculer âge en Excel: jours

Calcul de l'âge – étape 4: combinaison des années, mois et jours

Maintenant que nous avons les trois formules (et donc les trois valeurs), nous pouvons décider comment on va les utiliser.

Si vous voulez avoir chacune des valeurs dans une cellule (colonne) différente, il suffit de concaténer les trois cellules en ajoutant le format souhaité. Si nous optons pour le format "??a ??m ??j", la formule de concaténation peut avoir la forme suivante:

=CONCATENER(G2;"a ";G3;"m ";G4;"j")

Les cellules G2, G3 et G4 correspondent respectivement aux résultats des formules pour les années, les mois et les jours (comme c'est visible dans les captures d'écran).

 

Calcul de l'âge – étape 5: la formule finale

Et comme touche finale, on va mettre toutes ces formules ensemble pour n'en former qu'une. Il ne sera donc pas nécessaire de garder les quatre résultats (années, mois, jours et le tout).

Pour cela, on remplace les noms de cellules (G2, G3 et G4 dans notre exemple) de la formule de concaténation (étape 4) par les formules des étapes 1 à 3. Et voici le résultat:

=CONCATENER(DATEDIF(D2;AUJOURDHUI();"y");"a ";DATEDIF(D2;AUJOURDHUI();"m")-DATEDIF(D2;AUJOURDHUI();"y")*12;"m "; DATEDIF(DATE(ANNEE(D2) + DATEDIF(D2;AUJOURDHUI();"y");MOIS(D2) + DATEDIF(D2;AUJOURDHUI();"m")-DATEDIF(D2;AUJOURDHUI();"y")*12; JOUR(D2));AUJOURDHUI();"d");"j")

Ce qui nous donnera au final:

Calculer_age_en_Excel-tout

Conclusion

Comme vous pouvez le constater, la formule finale est relativement complexe. Dans un cas pareil, il serait probablement souhaitable d'envisager la création et l'utilisation d'une fonction personnalisée en VBA.

Mais si vous ne pouvez (ou ne voulez) pas faire l'usage de VBA, cet article vous montre que grâce à une combinaison des fonctions de base d'Excel, il est possible d'obtenir presque n'importe quel résultat souhaité…

 

13 0

Pourrait vous intéresser

Partagez cette page...
Share on FacebookShare on Google+Share on LinkedInTweet about this on TwitterShare on RedditShare on TumblrDigg thisEmail this to someone

Laissez un commentaire

Votre adresse de messagerie ne sera pas publiée.

6 commentaires sur “Excel: Calculer l’âge en années, mois et jours

  • Jean-André BOURDEAU

    Très interessant.
    et pour faire le même calcul mais entre la date de naissance et celle du décès par ex donc autre que "aujourd'hui" ?

    • excel-malin.com Auteur du billet

      Bonjour Jean-André,
      ce n'est pas difficile. Il suffit de remplacer AUJOURDHUI() par une autre date:

      • soit la date est dans une cellule et donc il suffit de remplacer AUJOURDHUI() par l'adresse de la cellule (par exemple) B2
      • soit vous pouvez écrire la date directement dans la formule: remplacer AUJOURDHUI() par (par exemple) "23/11/2010" (avec les guillemets! Sinon, Excel va interpréter comme "23 divisé par 11 divisé par 2010".)
      • la possibilité précédente peut causer un conflit entre les utilisateurs ayant format jj/mm/aaaa (Europe) et ceux qui utilisent mm/jj/aaaa (Amérique du Nord). Pour l'éviter, vous pouvez remplacer la date par la fonction DATE ce qui équivaut à: remplacer AUJOURDHUI() par (par exemple) DATE(2010;11;23)

      Voilà… C'est aussi simple que cela. Une remarque à la fin: dans la fonction DATEDIF, la plus petite date se trouve en premier, la plus grande en second argument… Par plus petite date, je veux dire celle de deux qui est le plus "ancienne" (même si par ex. les deux se trouvent dans le futur).
      J'espère que cela répond à votre question.
      Bien à vous, Martin

        • Jean-André BOURDEAU

          desole ca ne fonctionne pas.
          formule adaptée : =DATEDIF(DATE(ANNEE(A1)+DATEDIF(A1;B1;"y");MOIS(A1)+DATEDIF(A1;B1;"m")-DATEDIF(A1;B1;"y")*12;JOUR(A1));B1;"d")
          J'ai pris A1 et B1 comme dates et C1 comme résultat qui est #valeur!
          Mystere et boule de gomme

          • excel-malin.com Auteur du billet

            Bonjour, c'est bizarre, chez moi, votre formule fonctionne…
            (Je l'ai traduit en anglais mais à part cela, c'est la même)
            Test DATEDIF

            1) êtes vous sûr que la date en A1 est inférieure à la date dans B1?
            2) ceci est la formule pour le n° de jours. Les autres (pour le nombre d'années et de mois) fonctionnent ou pas?

            Bàv

          • Jean-André BOURDEAU

            Je n'ai pas essayé car je veux arriver au jour.
            je veux m'en servir en généalogie donc avec les différents calendrier j'ai besoin de la précision au jour.
            le résultat (années, mois, jour) dans un seule cellule me suffit.
            J@