Calcul dynamique d’âge à partir d’une date de naissance

Accueil – Le CFO masqué Forums Excel Calcul dynamique d’âge à partir d’une date de naissance

8 sujets de 1 à 8 (sur un total de 8)
  • Auteur
    Articles
  • #35697
    ogielen
    Participant

    Bonjour.

    J’ai utilisé les formules trouvées sur ce site à la page https://www.lecfomasque.com/calcul-dynamique-dage-a-partir-dune-date-de-naissance/ (article qui date de 2013).

    Tout marche à merveille sauf pour les dates de naissance “extraites” à partir du NISS (numéro national belge) d’avant 1930 (1930 ça marche, 1929 et moins ça coince).

    Par exemple, pour un NISS 29011815815, la date extraite est bien le 18/01/1929 mais l’âge donné par la formule est 12 !!

    Si la date est 1928, l’âge est 11 et ainsi de suite.

    Quelqu’un a une idée ????

    Merciiiiiiii

    #35788
    Sophie Marchand
    Participant

    Bonjour,

    Il faudrait que vous déposiez votre fichier puisque de mon côté, il n’y a aucun problème à calculer un écart avec cette date. Il doit y avoir une autre raison que la date elle-même qui explique votre problématique.

    Merci.

    Sophie

    #35816
    ogielen
    Participant

    Bonjour,

    En pièce jointe, un extrait du fichier en question.

    Bonne journée et merci d’avance.

    Attachments:
    You must be logged in to view attached files.
    #35818
    Sophie Marchand
    Participant

    Bonjour,

    Le problème ne vient pas de la formule YEARFRAC, il vient de votre colonne de dates.

    De mon côté, je dois inscrire:
    =VALUE(MID(R6,1,2)&”-“&MID(R6,3,2)&”-“&MID(R6,5,2))

    Au lieu de:
    =VALUE(MID(R6,5,2)&”-“&MID(R6,3,2)&”-“&MID(R6,1,2))

    Mais ça dépend comment sont vos paramètres de dates sur votre ordinateur.

    Cela dit, je ne sais pas ce qu’est un NISS ni comment l’interpréter mais si un NISS commence par 15, comment savoir s’il s’agit de 2015 ou de 1915?

    Je crois que c’est le bout qui manque…

    Chose certaine, ce n’est pas la formule de différence d’âge qui ne fonctionne pas mais bien votre formule qui recrée les dates de naissance.

    Merci,

    Sophie

    #35937
    ogielen
    Participant

    Merci beaucoup pour vos explications.

    Je vais regarder ça à tête reposée.

    Votre question sur le NISS est pertinente car, en effet, comment faire dans ce cas de figure.

    En fait, les deux premiers chiffres représentent l’année, les deux suivants le mois, les deux encore suivants le jour les trois suivants est le compteur journalier des naissances et permettent de connaître le sexe (paire femme, impaire homme) et les deux derniers pour la vérification du tout.

    Si je lis bien ici (https://fr.wikipedia.org/wiki/Num%C3%A9ro_de_registre_national) les deux derniers chiffres servent permettraient aussi de savoir si la personne est née avant 2000 mais bon…….

    Je vois tout ça et vous dis quoi.

    Bonne journée.

    #36077
    ogielen
    Participant

    Bonjour.

    Je reviens vers vous car j’ai vérifier le “format” des cellules et je m’aperçois que pour toutes les dates antérieure à 1930, le tableur considère que les dates extraites du NISS sont des années deux milles !!!

    Exemple : NISS 29101515178 ; la formule extrait la date suivante 15-10-2029 et comme le format de mes cellules “age” sont sans négatif, il me donne donc 12 (2029-2017=12).

    Quelqu’un a une idée ??

    Merciiiiiiiii

    #36078
    Sophie Marchand
    Participant

    Bonjour,

    Pour vous aider, il faudrait d’abord comprendre ce qui permet de déterminer qu’un NISS commençant par 15 par exemple, signifie 1915 et non 2015. Ensuite, il faudrait écrire une règle en conséquence, probablement une fonction SI, du genre si les deux premiers caractères par la gauche sont supérieurs à x, additionner 1900 à ce nombre, sinon, poursuivre avec la formule usuelle.

    Merci,

    Sophie

    #36089
    Claude 100
    Participant

    Bonjour ogielen, Sophie Marchand,

    Une idée peut-être.

    Ajouter une colonne par exemple colonne “S” pour y mettre un “x” afin de déterminer si on veut calculer pour une personne née en 2017 ou en 1917.
    Si on met un “x” dans la colonne “S” et que la date est au dessus de 1930, alors on écrit “Erreur” dans la cellule.

    A partir de “G2” du fichier joint:

    =SIERREUR(SI(ET(S2="x";ANNEE(SI(ANNEE(CNUM(STXT(R2;5;2)&"-"&STXT(R2;3;2)&"-"&STXT(R2;1;2)))>ANNEE($A$1);MOIS.DECALER((CNUM(STXT(R2;5;2)&"-"&STXT(R2;3;2)&"-"&STXT(R2;1;2)));-1200);SI(S2="x";DATE(ANNEE(CNUM(STXT(R2;5;2)&"-"&STXT(R2;3;2)&"-"&STXT(R2;1;2)))-100;MOIS(CNUM(STXT(R2;5;2)&"-"&STXT(R2;3;2)&"-"&STXT(R2;1;2)));JOUR(CNUM(STXT(R2;5;2)&"-"&STXT(R2;3;2)&"-"&STXT(R2;1;2))));(CNUM(STXT(R2;5;2)&"-"&STXT(R2;3;2)&"-"&STXT(R2;1;2))))))>3000);"Erreur";SI(ANNEE(CNUM(STXT(R2;5;2)&"-"&STXT(R2;3;2)&"-"&STXT(R2;1;2)))>ANNEE($A$1);MOIS.DECALER((CNUM(STXT(R2;5;2)&"-"&STXT(R2;3;2)&"-"&STXT(R2;1;2)));-1200);SI(S2="x";DATE(ANNEE(CNUM(STXT(R2;5;2)&"-"&STXT(R2;3;2)&"-"&STXT(R2;1;2)))-100;MOIS(CNUM(STXT(R2;5;2)&"-"&STXT(R2;3;2)&"-"&STXT(R2;1;2)));JOUR(CNUM(STXT(R2;5;2)&"-"&STXT(R2;3;2)&"-"&STXT(R2;1;2))));(CNUM(STXT(R2;5;2)&"-"&STXT(R2;3;2)&"-"&STXT(R2;1;2))))));"")

    Et tirer vers le bas autant que nécessaire.

    Formule à rallonge, j’en conviens, mais elle a l’air de fonctionner dans tous les cas de figure.
    A tester.

    Cordialement.

    • Cette réponse a été modifiée le il y a 3 années et 5 mois par Claude 100.
8 sujets de 1 à 8 (sur un total de 8)
  • Vous devez être connecté pour répondre à ce sujet.