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 !

dkcedric

XLDnaute Junior
Bonjour,

Je souhaiterais obtenir l'âge des enfants de mes adhérents, en faisant le calcul avec la date complete il ne me trouve pas le bon chiffre, pareil si je ne met que l'année. Je souhaiterais qu'il calcul l'age avec la date complète. Un peu plus bas j'aurais souhaité comptabiliser le nombre d'enfant par tranche d'âge impossible de retrouver le document avec la formule que j'avais faite.

Cordialement
 

Pièces jointes

Re : Calcul Age

Bonjour,

Pour l'âge tu peux faire (cellule au format nombre)
Pour les années entière (âge révolu):
Code:
=ENT(SOMME(D4-C4)/365,25)

ou pour les années et le nombre de jours passés depuis de dernier anniversairs.
Code:
SOMME(D4-C4)/365,25

pour le reste, pas suffisament de données dans le fichier.

[Edit] je ne sais pas pourquoi j'ai gardé ta fonction somme qui n'as pas d'utilité ici. (D4-C4)/365,25 suffit.
A+
 
Dernière modification par un modérateur:
Re : Calcul Age

Merci pour la formule mais je devrais avoir 2 enfants de - de 6ans alors qu'il me met 0 et pareil je trouve pas le bon compte de 6 à 12 ans ???
 

Pièces jointes

Dernière édition:
Re : Calcul Age

Bonjour,

Il faut faire attention > est différent de >=

La formule pour les moins de 6 ans (6 and non compris):
Code:
=NB.SI(E4:E28;"<6")
De 6 à 12 (6 ET 12 compris):
Code:
=SOMMEPROD((E4:E28<=12)*(E4:E28>=6))
Formule pour entre 12 et 18 (12 non compris)
Code:
=SOMMEPROD((E4:E30<=18)*(E4:E30>12))
equivalente à
Code:
=SOMMEPROD((E4:E30<=18)*(E4:E30>=13))

A+
 
Re : Calcul Age

Bravo à tous, pour compléter la formule de Bruce68,
je dirais même que pour éviter les 0 mois ou 0 jours ou 0 ans ou 1 ans, on peut encore sophistiquer la chose :
=SI(ET(DATEDIF(C4;$E$1;"y")=0;DATEDIF(C4;$E$1;"ym")=0;DATEDIF(C4;$E$1;"md")=0);0&" jour";SI(DATEDIF(C4;$E$1;"y")<>0;DATEDIF(C4;$E$1;"y")&SI(DATEDIF(C4;$E$1;"y")>1;" ans ";" an ");"")&SI(DATEDIF(C4;$E$1;"ym")<>0;DATEDIF(C4;$E$1;"ym")&" mois ";"")&SI(DATEDIF(C4;$E$1;"md")<>0;DATEDIF(C4;$E$1;"md")&SI(DATEDIF(C4;$E$1;"md")>1;" jours";" jour");""))

Bonne soirée

C@thy
 
Dernière édition:
Re : Calcul Age

ou encore une fonction :
Function StrDifDate$(ByVal Date1, ByVal Date2)
Dim DD1 As Date, DD2 As Date
Dim An&, Mois&, Jour&, Res$
On Error GoTo erreur
DD1 = Date1
DD2 = Date2
If Date1 <= Date2 Then
Date1 = DD1
Date2 = DD2
Else
Date1 = DD2
Date2 = DD1
End If
If Year(Date2) > Year(Date1) Then
An = (Year(Date2) - Year(Date1)) - IIf(Month(Date2) < Month(Date1), 1, _
IIf((Month(Date2) = Month(Date1)) And (Day(Date2) < Day(Date1)), 1, 0))
End If
Mois = Month(Date2) - Month(Date1) + 12 * (Year(Date2) - Year(Date1)) - _
IIf(Day(Date2) < Day(Date1), 1, 0) - (12 * An)
If Day(Date2) >= Day(Date1) Then
Jour = Day(Date2) - Day(Date1)
Else
Jour = DateSerial(Year(Date1), Month(Date1) + 1, 1) - Date1
Jour = Jour + Date2 - DateSerial(Year(Date2), Month(Date2), 1)
End If
If An > 0 Then Res = An & " an"
If An > 1 Then Res = Res & "s"
If Mois > 0 Then Res = Res & " " & Mois & " mois"
If Jour > 0 Then Res = Res & " " & Jour & " jour"
If Jour > 1 Then Res = Res & "s"
Res = Trim(Res)
If Res = "" Then Res = "0 jour"
StrDifDate = Res
Exit Function
erreur:
StrDifDate = ""
On Error GoTo 0
End Function
 
- 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

C
Réponses
5
Affichages
7 K
cecile2385
C
C
  • Question Question
Réponses
5
Affichages
1 K
CHRISTELLE
C
Retour