Intervale de date incorrecte
Résolu
Turk_182
-
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai une intervale entre deux dates qui ne donne pas la bonne réponse. La première date est 3 juillet 1876 (A1) et la seconde est 31 juillet 1957 (B1). Il s'affiche #VALEUR! en C1. Et voici la formule que j'utilise pour la case C1:
=SI(B1="";DATEDIF(A1;AUJOURDHUI();"y");DATEDIF(A1;B1;"y"))
A1= Naissance
B1= Décès
C1= Age actuel ou age au décès
C'est pour un arbre généalogique, j'ai fait plein de gens de ce siècle qui sont pas mort, d'autre qui sont morts, et là je suis que dans des gens qui sont morts mais qui sont nés dans l'autre siècle.
Aidez moi à régler se petit problème.
Turk_182
J'ai une intervale entre deux dates qui ne donne pas la bonne réponse. La première date est 3 juillet 1876 (A1) et la seconde est 31 juillet 1957 (B1). Il s'affiche #VALEUR! en C1. Et voici la formule que j'utilise pour la case C1:
=SI(B1="";DATEDIF(A1;AUJOURDHUI();"y");DATEDIF(A1;B1;"y"))
A1= Naissance
B1= Décès
C1= Age actuel ou age au décès
C'est pour un arbre généalogique, j'ai fait plein de gens de ce siècle qui sont pas mort, d'autre qui sont morts, et là je suis que dans des gens qui sont morts mais qui sont nés dans l'autre siècle.
Aidez moi à régler se petit problème.
Turk_182
A voir également:
- Intervale de date incorrecte
- Mfg date - Forum PC portable
- Publipostage date inversée ✓ - Forum Word
- Airpods 3 date de sortie - Guide
- Whatsapp date incorrecte - Forum Mobile
- Office 2024 date de sortie - Accueil - Bureautique
4 réponses
Bonjour
Pour la forme
si vous avez d'afficher dans une cellule des dates antèrieures à 1900, elles sont nécessairement en format texte, avec probablement l'année à 4 chiffres en fin de texte:
vous pouvez donc utiliser,(mais c'est à mon avis plus complexe qu'un calcul mental), avec une date de naissance en A1,:
=SI(ESTTEXTE(A1);DATEDIF(1/1/1900;AUJOURDHUI();"y")+1900-DROITE(A1;4);DATEDIF(A1;AUJOURDHUI();"y"))
ou pour faire plus simple, placer la "constante" dans une cellule:
DATEDIF(1/1/1900;AUJOURDHUI();"y")
pour l'exemple en C1
la formule devient
=SI(ESTTEXTE(A1);C1+1900-DROITE(A1;4);DATEDIF(A1;AUJOURDHUI();"y"))
Le seul avantage de cette solution est que votre arbre se mettra à jour chaque 1° Janvier
Bonne année
Crdlmnt
Pour la forme
si vous avez d'afficher dans une cellule des dates antèrieures à 1900, elles sont nécessairement en format texte, avec probablement l'année à 4 chiffres en fin de texte:
vous pouvez donc utiliser,(mais c'est à mon avis plus complexe qu'un calcul mental), avec une date de naissance en A1,:
=SI(ESTTEXTE(A1);DATEDIF(1/1/1900;AUJOURDHUI();"y")+1900-DROITE(A1;4);DATEDIF(A1;AUJOURDHUI();"y"))
ou pour faire plus simple, placer la "constante" dans une cellule:
DATEDIF(1/1/1900;AUJOURDHUI();"y")
pour l'exemple en C1
la formule devient
=SI(ESTTEXTE(A1);C1+1900-DROITE(A1;4);DATEDIF(A1;AUJOURDHUI();"y"))
Le seul avantage de cette solution est que votre arbre se mettra à jour chaque 1° Janvier
Bonne année
Crdlmnt
Bonjour,
une autre proposition (à tester sur qcq exemples) :
=STXT(TEXTE(SI(B2="";AUJOURDHUI();B2);"jj/mm/aaaa");7;4)-STXT(TEXTE(A2;"jj/mm/aaaa");7;4)-((STXT(TEXTE(SI(B2="";AUJOURDHUI();B2);"jj/mm/aaaa");4;2)-STXT(TEXTE(A2;"jj/mm/aaaa");4;2))*100+STXT(TEXTE(SI(B2="";AUJOURDHUI();B2);"jj/mm/aaaa");1;2)-STXT(TEXTE(A2;"jj/mm/aaaa");1;2)<0)
Si la date de décès est vide donne l'age actuel.
Les dates au format texte (inférieures au 01/01/1900) doivent être au format jj/mm/aaaa (donc 03/11/1800 et non pas 3/11/1800)
eric
une autre proposition (à tester sur qcq exemples) :
=STXT(TEXTE(SI(B2="";AUJOURDHUI();B2);"jj/mm/aaaa");7;4)-STXT(TEXTE(A2;"jj/mm/aaaa");7;4)-((STXT(TEXTE(SI(B2="";AUJOURDHUI();B2);"jj/mm/aaaa");4;2)-STXT(TEXTE(A2;"jj/mm/aaaa");4;2))*100+STXT(TEXTE(SI(B2="";AUJOURDHUI();B2);"jj/mm/aaaa");1;2)-STXT(TEXTE(A2;"jj/mm/aaaa");1;2)<0)
Si la date de décès est vide donne l'age actuel.
Les dates au format texte (inférieures au 01/01/1900) doivent être au format jj/mm/aaaa (donc 03/11/1800 et non pas 3/11/1800)
eric
Ou encore:
=SI(ESTTEXTE(B1);DROITE(B1;4)-DROITE(A1;4);SI(ESTTEXTE(A1);ANNEE(B1)-1900+1900-DROITE(A1;4);DATEDIF(A1;B1;"y")+1))
_(le +1 pour inclure l'année en cours,sinon, renvoi un an de moins)
avec la date de naissance en A1 et en B1 soit la date du décès, soit =AUJOURDHUI()
Crdlmnt
=SI(ESTTEXTE(B1);DROITE(B1;4)-DROITE(A1;4);SI(ESTTEXTE(A1);ANNEE(B1)-1900+1900-DROITE(A1;4);DATEDIF(A1;B1;"y")+1))
_(le +1 pour inclure l'année en cours,sinon, renvoi un an de moins)
avec la date de naissance en A1 et en B1 soit la date du décès, soit =AUJOURDHUI()
Crdlmnt