XL 2019 Calcul de l'âge. Résolu

  • Initiateur de la discussion Initiateur de la discussion Paulle
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Paulle

XLDnaute Occasionnel
Bonjour,

Je voudrai calculer l’âge de chaque personne.

Mais je cale quand dans les dates de naissances, les années sont inférieures à 1900.

Merci pour votre aide.
 

Pièces jointes

Je crois que ça ne marche pas avant 1900 "Excel enregistre la date comme un nombre séquentiel : généralement sous la forme du nombre de jours depuis le 1er janvier 1900". j'avais bricolé ça avec une formule que qq m'avait passé...(je suis un grand débutant!)
 

Pièces jointes

Bonjour @Paulle
avant de poser une question ,il existe un moteur de recherche dans le site
en dessous 1800 se serait faux car le calendrier à changé pour certains en 17xx
je m’arrête donc à 1800
demo.gif
 
Dernière édition:
Bonsoir à tous,

Une solution par formule, en H3 :
Code:
=SI.CONDITIONS(F3>0;DATEDIF(SI(ESTNUM(D3);MOIS.DECALER(D3;4800);DATEVAL(GAUCHE(D3;6)&DROITE(D3;4)+400));SI(ESTNUM(F3);MOIS.DECALER(F3;4800);DATEVAL(GAUCHE(F3;6)&DROITE(F3;4)+400));"y");D3=0;"";D3>0;DATEDIF(SI(ESTNUM(D3);MOIS.DECALER(D3;4800);DATEVAL(GAUCHE(D3;6)&DROITE(D3;4)+400));MOIS.DECALER(AUJOURDHUI();4800);"y"))
A+
 

Pièces jointes

J'utilisais SI.CONDITIONS parce que Paulle l'utilisait dans son fichier du post #1.

Une formule bien plus simple qui fonctionne sur toutes versions Excel :
Code:
=SI(D3="";"";DATEDIF(SI(ESTNUM(D3);MOIS.DECALER(D3;4800);DATEVAL(GAUCHE(D3;6)&DROITE(D3;4)+400));SI(ESTNUM(-F3);MOIS.DECALER(SI(F3=0;AUJOURDHUI();F3);4800);DATEVAL(GAUCHE(F3;6)&DROITE(F3;4)+400));"y"))
 

Pièces jointes

re
moi j'avais fait ceci
VB:
=DATEDIF(SI(ESTNUM(CNUM(A1));CNUM(A1)+(365,25*100);DATEVAL(GAUCHE(A1;6)&DROITE(A1;4)+100));SI(ESTNUM(CNUM(B1));CNUM(B1)+(365,25*100);DATEVAL(GAUCHE(B1;6)&DROITE(B1;4)+100));"y")&" an(s)"

chez moi 2013 ESTNUM me renvoie faux même sur une date valide
demo.gif



1670364551686.png
 
Dernière édition:
Bonjour,

Bah sur Excel une date valide est toujours numérique sauf si elle est au format Texte.

Par contre en VBA elle n'est pas numérique si elle est au format Date.

A+
re
Bonjour @job75 oui ben regarde
demo.gif


je viens de retaper les dates et là maintenant ça marche
avant je les avais tapé aussi
bizarre ce truc
remarque enum(cnum(A2)) permet de travailler sur une date valide meme si la cellule est en texte
 
re
bonjour @TooFatBoy
je parlais de la ligne 22/08/1930 qui est une date valide pour excel
toute les dates je l'es ai tapé a la main
et celle ci je ne sais pas pourquoi c'est mise au format text alors que je suis en format standard partout
😳🤔

dans tout les cas pour palier a ce soucis il est préférable d'utiliser =enum(cnum(...))
comme ça pas de soucis avec les cellules au format texte 😉
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
152
Réponses
5
Affichages
147
Réponses
7
Affichages
183
  • Résolu(e)
Microsoft 365 DateDif()
Réponses
5
Affichages
172
Réponses
6
Affichages
169
Retour