Intervale de date incorrecte
Résolu/Fermé
Turk_182
-
Modifié par Turk_182 le 26/06/2010 à 04:13
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 - 26 juin 2010 à 10:49
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 - 26 juin 2010 à 10:49
A voir également:
- Intervale de date incorrecte
- Trouver une date de naissance gratuit - Forum Webmastering
- Publipostage date inversée ✓ - Forum Word
- Whatsapp date incorrecte ✓ - Forum Windows Phone
- Airpods 3 date de sortie - Guide
- Passé cette date - Forum Logiciels
4 réponses
Mytå
Messages postés
2973
Date d'inscription
mardi 20 janvier 2009
Statut
Contributeur
Dernière intervention
20 décembre 2016
942
26 juin 2010 à 04:30
26 juin 2010 à 04:30
Salut le forum
Pour les dates inférieures à 1900 la fonction datedif est inopérante.
Mytå
Pour les dates inférieures à 1900 la fonction datedif est inopérante.
Mytå
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 396
26 juin 2010 à 08:56
26 juin 2010 à 08:56
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
eriiic
Messages postés
24570
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
23 avril 2024
7 213
26 juin 2010 à 09:38
26 juin 2010 à 09:38
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
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 396
26 juin 2010 à 10:34
26 juin 2010 à 10:34
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
eriiic
Messages postés
24570
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
23 avril 2024
7 213
26 juin 2010 à 10:49
26 juin 2010 à 10:49
Salut vaucluse :-)
En précisant que tu ne tiens pas compte de la date anniversaire.
Qcq chose de bizarre dans ta formule c'est le -1900+1900
Soit tu as oublié de simplifier, soit il manque qcq chose (?)
eric
En précisant que tu ne tiens pas compte de la date anniversaire.
Qcq chose de bizarre dans ta formule c'est le -1900+1900
Soit tu as oublié de simplifier, soit il manque qcq chose (?)
eric