Dates et heures sur Excel : #05 Comment calculer l'âges et l’ancienneté sur Excel
Dans ce tutoriel, je vais vous montrer différentes méthodes qui permettent de calculer l’âge d’une personne ou son ancienneté au sein d’une entreprise sur Excel. Nous verrons qu’une simple addition permet d’obtenir ces informations en quelques secondes seulement !
Téléchargement
Vous pouvez télécharger le fichier d'exemple de cet article en cliquant sur le lien suivant :
Tutoriel Vidéo
Vous trouverez très régulièrement de nouvelles vidéos sur la chaîne, alors pensez à vous abonner pour ne manquer aucune astuce et devenir rapidement un pro d’Excel (cliquez-ici) !
1. Afficher l’âge en quelques secondes !
Pour commencer ce tutoriel, nous allons analyser la méthode la plus simple qui permette d’obtenir l’âge d’une personne en une poignée de secondes seulement : une simple soustraction !
Pour illustrer ce tutoriel, nous disposons d’une liste de personnes employées dans une entreprise avec les dates de naissances de chacune d’entre elles :
Nous souhaitons bien évidemment connaître leur âge respectif.
Pour cela, il suffit de soustraire leur date de naissance à la date d’aujourd’hui, que nous allons pouvoir récupérer grâce à la formule AUJOURDHUI().
En effet, comme nous avons déjà eu l’occasion de l’aborder dans les cours précédents de cette formation, les dates sont en réalités des nombres dont la mise en forme permet de donner l’apparence d’une date.
Cette addition va ainsi nous retourner un nombre qui sera exprimé en nombre de jours :
=AUJOURDHUI()-B9
Nous pouvons ainsi en déduire que Paul est né depuis 17872 jours.
Évidemment, nous souhaitons connaître non pas son âge exprimé en nombre de jours, mais la correspondance de celui-ci en années !
Pour cela, nous allons simplement modifier la mise en forme de la cellule :
- Nous effectuons un clic-droit sur celle-ci, afin de choisir le Format de cellule :
- Dans la fenêtre Format de cellule, nous sélectionnons l’onglet Nombre, puis la catégorie Personnalisée. Dans le champ de saisie Type, nous saisissons le format « aa "ans" » qui permet comme nous l’avons déjà étudié dans le chapitre précédent d’afficher l’année d’une date sur deux caractères uniquement suivis du mot « ans » :
- Et enfin, nous validons en appuyant sur le bouton [OK]
Ensuite, ne reste plus qu’à étendre la formule et son formatage sur les cellules du dessous, en sélectionnant la petite poignée noire situé dans le coin inférieur droit de la cellule, puis en la faisant glisser vers le bas, sur les cellules du dessous :
Et voilà le résultat :
Cette méthode permet ainsi d’obtenir un âge en quelques secondes seulement, mais a pour inconvénient que la valeur réelle insérée dans la cellule correspond à un nombre de jours et non pas un nombre d’années. Cela rend ainsi impossible l’utilisation de ce résultat au sein de cellules :
2. Obtenir directement l’âge en année
Pour corriger ce problème, nous pouvons simplement encapsuler la soustraction que nous venons de voir dans une formule ANNEE() :
=ANNEE(AUJOURDHUI()-B9)
N’oublions pas de redéfinir un format standard à la cellule :
Comme vous pouvez le constater ici, la valeur retournée par la formule est une année classique sur quatre caractères, il convient alors de soustraire à ce résultat 1900 de ne conserver que la partie qui nous intéresse :
=ANNEE(AUJOURDHUI()-B9)-1900
À présent nous pouvons encore nous rendre compte d’un problème : le résultat souffre d’une approximation liée aux années bissextiles :
Si nous observons bien la dernière ligne qui calcul l’âge de Nina, nous constatons que celle-ci devrait avoir 25 ans depuis hier (lorsque l’article a été rédigé, nous étions le 20/09/2019).
Or la formule nous indique que celle-ci a encore 24 ans !
3. La meilleure solution : la formule DATEDIF()
Finalement, le meilleur moyen de calculer un âge ou une ancienneté va être d’utiliser une formule que nous avons déjà découverte dans un chapitre précédent : il s’agit bien évidemment de la formule DATEDIF().
Pour rappel, cette formule n’est pas référencée par Excel, et le seul moyen de l’utiliser est de la connaître, ainsi que ses paramètres :
=DATEDIF(dateDépart;dateFin;unité)
Où :
- dateDépart est la date à partir de laquelle nous souhaitons que l’intervalle débute,
- dateFin marque la fin de cet intervalle
- unité est l’unité sous laquelle nous souhaitons que l’intervalle soit exprimé, il s’agit d’une chaîne de caractère, à saisir entre guillemets :
Et donc voici comment calculer les âges des employés :
=DATEDIF(B9;AUJOURDHUI();"y")
De cette manière, Nina a bien 25 ans :
4. Calcul d’ancienneté au jour près
À présent, supposons que nous souhaitions connaître l’ancienneté de ces personnes, au jour près.
Une fois de plus, nous allons pouvoir nous reposer sur la formule DATEDIF() :
=DATEDIF(E9;AUJOURDHUI();"y") & " ans, "&DATEDIF(E9;AUJOURDHUI();"ym")&" mois et "&DATEDIF(E9;AUJOURDHUI();"md")&" jours"
Le symbole esperluette (« & ») permet de concaténer des chaînes de caractères, c’est-à-dire de les assembler les uns à la suite des autres.