calcul age + majorité

P

Patricia

Guest
Bonjour tout le monde :)

En cellule K2 j'ai une date de naissance, en cellule L2 j'aimerais avoir l'âge et en cellule M2 j'aimerais savoir si la personne est majeure ( 18 ans) si c'est possible, j'aimerais aussi que la majorité soit calculée seulement sur l'année (si la personne est mineure en début d'année et atteint la majortié en cours d'année, j'aimerais que son status reste mineure jusqu'en fin d'année en cours (31.12)).

Merci beaucoup :)
 
P

Patricia

Guest
Merci Laurent :)

Je débute vraiment avec excel et je crois que je me suis embarquée dans un truc qui n'a pas fini de me tenir eveillée...;-) J'essaye d'obtenir des données que je pourrais utiliser pour définir des barèmes d'impot a la source - barèmes qui figurent dans une autre page du classeur mais je n'en suis pas encore a ce stade :)

J'ai encore une petite question (voir tableau joint) si tu veux bien (sans te prendre en otage lol)

A plus

Patricia
 
M

Monique

Guest
Bonsoir,

Plus court, mais j'ai peut-être loupé un épisode.
Sommeprod(si( en matriciel pour avoir le nb d'enfants à charge
Age des enfants : je n'ai pris en compte ni le mois ni le jour, vu qu'ils changent d'âge au 1er janvier.
Format conditionnel pour repérer les enfants de 0 à 12 ans.
 

Pièces jointes

  • AChargePatricia.zip
    3.9 KB · Affichages: 76
L

LaurentTBT

Guest
Bonjour à tous.

Je savais bien qu'un petit sommeprod où une matricielle allait passer par là.

Néanmoins, Monique, nous n'obtenons pas le même résultat:

Prenons par exemple un seul enfant, né le 12/12/1991.
Il a 12 ans aujourd'hui.
Aujourd'hui, on a toujours 1 enfant à charge.
Jusque là, on est d'accord tous les 2.

Maintenant, imaginons que nous soyons le 01/01/2004.
(d'abord, je vous souhaiterais une très bonne et heureuse année - lol)
(Je modifie la date système, et je fais F9 pour recalculer)
L'enfant a toujours 12 ans.
D'après la définition donnée par Patricia (je lui avait demandé de confirmer quelques posts au-dessus), il rest à charge pour l'année 2004, et ce n'est qu'au 01/01/05 qu'il ne comptera plus.
Ta formule ne le comptait déjà plus.

En fait, je pense qu'il suffit de remplacer le 12 par 13 dans ta formule matricielle qui donne le nombre d'enfants à charge:

=SOMMEPROD(SI(((P2:Y2)="");"";(ANNEE(P2:Y2)>=ANNEE(AUJOURDHUI())-13)*1)) (à valider par CTRL + MAJ + ENTER)

Es-tu d'accord avec moi?

Sinon, Patricia m'a posé une question subsidiaire: elle souhaite avoir dans une autre cellule le nombre d'enfants de plus de 12 ans, en ayant décallé les colonnes iitiales d'une vers la draoite.
J'ai une formule, mais je pense que tu feras beaucoup mieux. (Cf pièce jointe)

Bonne journée à tous.
Laurent.

PS: si une bonne âme charitable se sent le courage de vérifier tous ces calculs, car à force, on y perd son latin!
 

Pièces jointes

  • EnfantsACharge.zip
    4.8 KB · Affichages: 43
  • EnfantsACharge.zip
    4.8 KB · Affichages: 43
  • EnfantsACharge.zip
    4.8 KB · Affichages: 46
M

Monique

Guest
Bonjour,

Il y a un truc qui cloche
Un enfant ayant "réellement" 12 ans aujourd'hui sera considéré comme ayant 12 ans le 01-01-2004
Et il ne sera plus à charge que quand il aura 13 ans révolus, le 01-01-2005 ?
Ce qui fait que le bébé tout neuf de cette année 2003 n'aura 0 an que le 01-01-2004
Moralité, il a moins 1 an jusqu'au 31-12-2003
Conclusion, la formule sommeprod ne fonctionne plus.
 
M

Monique

Guest
Re,

Les âges en R T V X Z, colonnes paires, donc mod(colonne();2)=0

Jusqu'à 12 ans inclus
=SOMMEPROD((MOD(COLONNE(Q2:Z2);2)=0)*(Q2:Z2<13))

13 ans inclus et plus
=SOMMEPROD((MOD(COLONNE(Q2:Z2);2)=0)*(Q2:Z2>12)*(ESTNUM(Q2:Z2)))

de 13 à 18 ans inclus
=SOMMEPROD((MOD(COLONNE(Q2:Z2);2)=0)*(Q2:Z2<19)*(Q2:Z2>12))
 
L

LaurentTBT

Guest
Bonjour à tous.

Décidemment, c'est un "fil à retordre"!

Monique, d'après ton avant dernier post, si j'ai bien compris, c'est juste pour un bébé que ça ne marche pas, n'est-ce pas? N'y a-t-il pas un moyen de rajouter dans la formule matricielle une condition sur ce cas très particulier? Sinon, il va falloir se résoudre à ma formule hyper lourde!

Et pour tes formules qui donnent le nombre d'enfants dans chaque fourchette d'âge, c'est très ingénieux, bravo.

Patricia, pour le mail que tu m'as envoyé ce matin, concernant la formule pour la mise en forme conditionnelle:
J'ai tout simplement copié bêtement sur le premier envoi de Monique qui avait mis des données sur plusieurs lignes. D'où la formule pour les cellules de la quatrième ligne.
Change les 4 en 2 pour les données de la ligne 2, tout simplement. Excuse-moi, j'étais allé un poil vite.

Bon, je vous laisse, je file prendre mon train.

BON WEEK-END
Laurent.
 
J

Jean-Marie

Guest
Bonsoir tout le monde

Simplement un petit truc, il est possible de connaître le format de cellule, par la fonction =cellule("Format";RefCellule), par exemple pour une date elle retourne D1, elle fonctionne aussi en formule matricielle, sur une plage de cellule =CELLULE("Format";R2:Z2).

Merci Monique, c'est vraiment un régal de lire tes formules.

@+Jean-Marie
 
J

Jean-Marie

Guest
Re...

Pour compléter mon message voici les différents formats renvoyés par la fonction
S Standard
F0 0
PO # ##0
F2 0,00
P2 # ##0,00
M0 # ##0 F;-# ##0 F
M0- # ##0 F;[Rouge]-# ##0 F
M2 # ##0,00 F;-# ##0,00 F
M2- # ##0,00 F;[Rouge]-# ##0,00 F
%0 0%
%2 0,00%
S2 0,00E+00
S #" "?/? ou #" "??/??
D4 m/j/aa, m/j/aa h:mm ou mm/jj/aa
D1 j-mmm-aa ou jj-mmm-aa
D2 j-mmm ou jj-mmm
D3 mmm-aa
D5 mm/jj
H2 h:mm AM/PM
H1 h:mm:ss AM/PM
H4 h:mm
H3 h:mm:ss

Bonne soirée à tous

@+Jean-Marie
 
M

Monique

Guest
Bonsoir,

Et la fonction =cellule("Format";RefCellule) vient de me servir à faire une mise en forme conditionnelle qui faisait de la résistance

=DECALER(E8;;(CELLULE("format";E8)="D1")*1)<13
Si la cellule E8 est au format date, c'est la valeur de la cellule située juste à droite qui est prise en compte par la formule du format conditionnel.
Merci, c'est une affaire qui marche.
 

sima2764

XLDnaute Nouveau
bonjour;
Je viens juste de joindre votre forum qui m'a été d'une grande aide. Cependant mon problème c'est que j'ai une base de donnée qui gere des assurés et je voudrai savoir exactement quand un assuré a atteint l'age de 18 ans en calculant le nombre de jour depuis qu'il a atteint ces 18 ans jusqu'à date courante merci beaucoup pour votre aide.
 

Victor21

XLDnaute Barbatruc
Bonjour.

Ouvrez votre propre discussion (celle-ci date de 16 ans...), et joignez un fichier Excel en exemple.
A partir de la date de naissance en A1, si c'est un bien nombre : =AUJOURDHUI()-DATE(ANNEE(A1)+18;MOIS(A1);JOUR(A1))
Ou, plus court : =AUJOURDHUI()-MOIS.DECALER(A1;18*12)
 
Dernière édition:

Modeste geedee

XLDnaute Barbatruc
Bonsour®
pour la présentation c'est là :

bonjour;
Je viens juste de joindre votre forum qui m'a été d'une grande aide. Cependant mon problème c'est que j'ai une base de donnée qui gere des assurés et je voudrai savoir exactement quand un assuré a atteint l'age de 18 ans en calculant le nombre de jour depuis qu'il a atteint ces 18 ans jusqu'à date courante merci beaucoup pour votre aide.
la recherche dans ce forum n'est pas interdite ...
=AUJOURDHUI()-MOIS.DECALER(datenaiss ; 12*18)
 

Statistiques des forums

Discussions
314 062
Messages
2 105 220
Membres
109 292
dernier inscrit
Habib DIOP