Fonction Date + Droite + STXT

Bonjour à toutes et à tous,

Je monte (un petit peu) en difficulté. J'aimerais extraire une date de naissance à partir du numéro de registre national (en Belgique il se présente sous cette forme : xx.xx.xx-xxx.xx)

Exemple : 87.02.16-147.22 = date de naissance le 16/02/1987

J'ai appliqué la formule suivante (si le n° de registre national se trouve en A1).

=DATE((19+(GAUCHE(A1;2)<=DROITE(ANNEE(AUJOURDHUI());2)))*100+GAUCHE(A1;2);STXT(A2;4;2);STXT(A1;7;2))

Cela fonctionne mais... pas pour les personnes nées en 2000. Je sens qu'il y a quelque chose à faire avec le "19" mais cela devient trop complexe pour moi. 

Avez-vous une idée ?

Merci et belle journée,

bonjour,

essaie ceci. Cependant tu ne pourras pas distinguer les centenaires des nouveaux-nés, à moins de disposer d'une autre information.

=DATE(GAUCHE(A1;2)+SI(GAUCHE(A1;2)<=DROITE(ANNEE(AUJOURDHUI());2);2000;1900);STXT(A1;4;2);STXT(A1;7;2))

la formule ajoute 2000 ans à l'année de naissance inférieure au nombre formé par les 2 derniers chiffres de l'année en cours, sinon 1900 ans

Bonjour h2so4,

Effectivement c'est déjà mieux. En fait c'est un tableau que j'enverrai à des DRH qui devront le compléter et que je devrai vérifier. Donc je le remarquerai s'il s'agit de nouveaux-nés ;-).

Cependant c'est assez étrange pcq la formule fonctionnait dans un nouveau doc Excel mais quand je l'incorpore dans mon tableau où la date se trouve en D17 (pour l'anecdote) il se plante complètement.

Exemple :

84.05.31-147.22 - 15/05/1988

80.05.31-147.22 -> 15/05/1984

84.05.31-317.22 -> 31/05/1988


Pour obtenir le 31/05/1984 je dois mettre 80.05.xx-31x.xx

Je ne comprends pas l'erreur dans ma formule... Snifff

=DATE(GAUCHE(D17;2)+SI(GAUCHE(D17;2)<=DROITE(ANNEE(AUJOURDHUI());2);2000;1900);STXT(D17;4;2);STXT(D17;7;2))

bonjour,

vérifie tes données. Il y a probablement des caractères en trop. tu peux vérifier l'exécution de la formule (mode pas à pas) via le menu formule, évaluer la formule. Sinon merci de mettre un fichier anonymisé dans lequel tu as pu reproduire le problème.

Bonjour à tous !

Il me semble que sous MAC le point originel concernant les dates est 1904. Il faudrait donc adapter le "1900" de la formule en conséquence.

Par ailleurs, si votre version Excel vous donne l'accès à la fonction SUBSTITUE, je vous propose :

=DATEVAL(TEXTE("19"&SUBSTITUE(GAUCHE(A1;8);".";"");"####-##-##"))

Avec la réserve de l'erreur du siècle.

Bonjour JFL, h2so4,

Effectivement MAC prend 1904 (je ne travaille sur MAC que depuis 1 mois...)

Cela résolve le problème de l'année mais pas celui des jours. Je vous envoie mon tableau anonymisé.

Un grand merci pour vos lumières !

Bonjour à tous de nouveau !

Dans votre classeur exemple, je ne trouve aucune valeur ayant un format semblable à celui décrit dans votre demande !

S'agit-il, par exemple de la cellule D17 ?

Si oui, je vous propose de tester :

=DATEVAL(TEXTE("19"&GAUCHE(D17;6);"####-##-##"))

Bonjour à tous également,

Et bien oui c'est bien la cellule D17 (dans mon "bon" classeur je l'ai formatée pour qu'elle apparaisse comme ceci 84.05.31-147.22).

Et votre formule fonctionne ! (j'avais un doute sur l'utilisation d'AUJOURDHUI).

Un tout grand merci à vous deux ! (ça fait 2h que je suis dessus... hum) ;-)

Bonjour à tous de nouveau !

Je vous remercie de ce retour.

Rechercher des sujets similaires à "fonction date droite stxt"