Le problème dans ce genre de calcul c’est que les dates ne fonctionnent pas en système décimal, les âges si, en revanche. En outre, au départ, dans mon tableau, j’avais des personnes dont on connaissait l’année de la naissance ou celle du décès, mais pas la date exacte. De toute façon, la soustraction de ces deux dates ne donne pas un résultat en nombre d’années. Les années de naissance et de mort sont donc saisies comme des nombres tout à fait standard.
Problème
Pour savoir combien de temps les gens ont vécu, ce n’est pas compliqué, c’est le résultat de la soustraction de la date (ou l’année) du décès moins celle de la naissance (ou de son année).
Déjà à ce stade, si on devait partir des dates, on aurait deux problèmes :
- le résultat serait un nombre de jours et pas un nombre d’années, il faudrait donc grosso modo, par exemple, diviser le tout par 365 pour avoir le nombre d’années ou utiliser la fonction ANNEES ;
- si cela fonctionne tout à fait bien pour le tableur des suites bureautiques LibreOffice, OpenOffice (pour mémoire) Calligra et Gnumeric qui fonctionnent nativement avec les formats ODF, cela ne fonctionne plus du tout dès lors qu’on a des dates avant le 1er janvier 1900 pour les suites bureautiques et les tableurs qui utilisent nativement les formats OOXML.
Partir de l’année est donc une solution, à la fois efficace et pratique. Sauf que… si on a affaire à des gens vivants et d’autres qui ne le sont pas, cela va poser des problèmes, on va avoir un âge négatif et il serait à la fois idiot et malvenu de mettre une année.
Solution :
- une cellule de référence avec la fonction AUJOURDHUI, elle se met à jour automatiquement, utiliser dans une autre cellule la fonction ANNEE qui va transformer la date en année (donc en nombre « normal ») et la nommer (dans mon exemple, elle s’appelle « aujourdhui », tout bonnement) [1] ;
- faire le calcul sous la forme d’une fonction SI. Si le contenu de la cellule de l’année de décès (E2 dans l’exemple) est supérieur à 0, le résultat est la soustraction des deux cellules (ici donc E2-D2), si non il est égal à la cellule nommée « aujourdhui »-D2, ce qui donne la formule suivante que l’on peut tirer jusqu’en bas du tableau :
Et le résultat donne l’âge actuel.
Évidemment, on peut (ce que je conseille surtout si votre classeur contient, par exemple des listes ou d’autres formules servant de base à d’autres calculs), mettre cela sur une autre feuille et, ensuite masquer ces cellules, voire la feuille qui les contient. Cela sécurise votre tableau.
Elle est pas belle la vie ?