XL 2019 diviser automatiquement, un tableau Excel en 2, en fonction du critère H / F

DomL

XLDnaute Occasionnel
Supporter XLD
Bonjour

Je reviens vers le Forum, car incapable de trouver sur les Tuto une réponse simple à mon problème



J'ai : 1 tableau Excel avec toutes les données de personnes : poste, matricule, âge, nom, prénom, etc ..... et sexe : H/F


Comment d'une manière simple et automatique, serait-il de réaliser 2 tableaux distinct :
- 1 tableau des Postes, avec que les Femmes
- 1 tableau des Poste, avec que le Hommes


J'ai chercher : extraire, séparer, scinder, filtres avancés ... toutes les terminologies possibles ... mais je suis pas un pro d'Excel !


Si quelqu'un avait une solution simple
Merci d'avance

Dominique
 

Pièces jointes

  • 5 - 5 - Base des postes Pyramide Age - DG-AG Ressources.xlsx
    41.2 KB · Affichages: 14

TooFatBoy

XLDnaute Barbatruc
vous avez bien apporté LA SOLUTION
- au delà de mes espérances
- c'est celle que j'imaginais, mais je n'ayant pas vos connaissance / compétence ...
c'est pour cela, qu'après les TUTO, je me suis tourné vers le FORUM
Le forum est justement là pour ça. 😉
Content pour toi si ma proposition te convient.


- baser les calculs, plutôt sur : =DATEDIF(F28;AUJOURDHUI();"Y")
Pourquoi veux-tu absolument utiliser DateDif, qui donnera un résultat moins précis, dans le calcul de la moyenne des âges ?
Je n'ai jamais utilisé cette fonction, donc il faut que je regarde de plus près si je peux éventuellement trouver une formule, basée dessus, qui te convienne.
 

fanch55

XLDnaute Barbatruc
Et concerne aussi le post :
dans lequel on fini par apprendre :

C'est pourquoi dans le premier des trois fils j'ai répondu que la recopie des données est inutile pour faire ces calculs et j'ai proposé un fichier, mais je n'ai eu aucune réponse jusque là. :(






Vu que tu ne l'as visiblement pas trouvé, je te le remets ici. ;)
Salut @TooFatBoy ,
J'ai du louper qq chose, ton classeur fait la répartition Homme / Femme ?? 🤔
 

fanch55

XLDnaute Barbatruc
C'est peut-être moi qui n'ai pas fait ce qu'il faut. 🙁

Que veux-tu dire par "faire la répartition" ?
ben, c'est l'objet du post
 

TooFatBoy

XLDnaute Barbatruc
Désolé, je ne comprends pas ce que tu veux dire. 🙁

Moi, ce que j'ai compris de la question, c'est qu'il veut effectuer des calculs (tranches d'âge, pourcentages, etc.) et c'est ce que j'ai essayé de faire sans recopies de données qui, à mon avis, alourdissent le classeur pour rien et compliquent les choses en demandant une synchronisation rigoureuse de tous les tableaux.

Au final, j'ai donc fait les mêmes calculs que ceux du classeur originel, mais sans passer par les trois tableaux de recopies de données (hommes, femmes, vacants).

On peut d'ailleurs se rendre compte que ce ne sont pas que ces trois tableaux qui sont inutiles, mais que c'est toute la feuille age qui est inutile, puisqu'on recopie toutes ses données dans la feuille suivante (donc autant la supprimer et faire les calculs dans l'autre page).
 
Dernière édition:

TooFatBoy

XLDnaute Barbatruc
Je crois qu'en fait il faut faire une synthèse des trois fils qu'il a ouverts hier sur cette question, et regarder le fichier.

En regardant bien le fichier, on voit que les trois tableaux ne servent, et c'est aussi ce qu'il dit (voir #10 plus haut), qu'à effectuer des calculs.
Or, ces calculs peuvent être effectués sans passer par ces trois tableaux qui demanderaient une parfaite synchronisation pour être certain d'avoir les résultats exacts dans les calculs.

La suppression de ces trois tableaux intermédiaires me semble mieux car du coup il n'y a qu'une seule BDD, au lieu d'avoir deux BDD à synchroniser, et ça doit faire un fichier moins gros.
 
Dernière édition:

DomL

XLDnaute Occasionnel
Supporter XLD
Bonjour TooFatBoy

Je ne sais pas si je m'adresse au même TooFatBoy, que hier sur le 1er fil ?

Avant tout :
- toutes mes excuses, pour ne pas avoir vu le Fichier hier ...
- après 48h, de recherche quasi non-stop, j'étais épuisé
- ... cela m'aurait éviter de ''mouliner'' en plus, toute la journée de hier

- milliards de Merci, pour votre empathie
- vous avez bien apporté LA SOLUTION
- au delà de mes espérances
- c'est celle que j'imaginais, mais je n'ayant pas vos connaissance / compétence ...
c'est pour cela, qu'après les TUTO, je me suis tourné vers le FORUM


Si vous m'autorisiez, je souhaiterai apprendre, comprendre : (par avance, merci)
- la formule
et
- baser les calculs, plutôt sur : =DATEDIF(F28;AUJOURDHUI();"Y")
(c'est l'attente finale !)



Que dois-je comprendre :

1) =SOMMEPROD(('(R)_Céline'!$AV$2:$AV$10<>"")*'(R)_Céline'!$AU$2:$AU$10>MOIS.DECALER(AUJOURDHUI();-240)))

- SOMMEPROD je comprends pas


- (('(R)_Céline'!$AV$2:$AV$10<>"") je comprends pas


- * je comprends pas


- ('(R)_Céline'!$AU$2:$AU$10>MOIS.DECALER je comprends pas


- (AUJOURDHUI();-240)))
- je comprends / =(AUJOURDHUI()-D30)/365
serait-il possible de calculer avec :
=DATEDIF(F28;AUJOURDHUI();"Y")


- -240 je comprends pas



2) =SOMMEPROD(('(R)_Céline'!$AV$2:$AV$10="2")*'(R)_Céline'!$AU$2:$AU$10>MOIS.DECALER(AUJOURDHUI();-240)))
- ="2" - je comprends : Femme
- ="1" - je comprends : Homme



3) =SOMMEPROD(('(R)_Céline'!$AV$2:$AV$10<>"")*'(R)_Céline'!$AU$2:$AU$10>MOIS.DECALER(AUJOURDHUI();-360))*('(R)_Céline'!$AU$2:$AU$10<=MOIS.DECALER(AUJOURDHUI();-240)))

- -360 / -240 je comprends pas

- - 480 / -360 je comprends pas


4) =NB.SI('(R)_Céline'!AV2:AV10;"")
- "" je comprends : si vide


5) =(C8*AUJOURDHUI()-SOMME('(R)_Céline'!$AU$2:$AU$10))/365,25
- je comprends / =(AUJOURDHUI()-D30)/365

serait-il possible de calculer avec :
=DATEDIF(F28;AUJOURDHUI();"Y")
 

TooFatBoy

XLDnaute Barbatruc
Je ne sais pas si je m'adresse au même TooFatBoy, que hier sur le 1er fil ?
Heureusement pour la planète, il n'y en a qu'un seul. ;)

J'ai bien vu tes questions puisque j'ai commencé à y répondre en #16 plus haut. ;)
Je n'ai pas encore pu répondre au reste parce que j'étais sur mon tél et c'est infiniment moins pratique.

J'en profite pour te reposer la question :
Pourquoi veux-tu absolument utiliser DateDif, qui donnera un résultat moins précis, dans le calcul de la moyenne des âges ?
 

DomL

XLDnaute Occasionnel
Supporter XLD
Je dois préciser, que je travaille dans une Administration


Je m'étais servi de =(AUJOURDHUI()-D30)/365
et
j'avais constaté, des écarts

Après de longs échanges ''philosophiques'' :
c'est le raisonnement date d'anniversaire, qui prime
et
leur résonnement est en =DATEDIF(F28;AUJOURDHUI();"Y")


Serais-tu me l'intégrer SVP
ou
m'apprendre à le faire


Comme, m'apprendre : avec les réponses/explications à #23


Des explications, très courtes, me suffiraient


Merci d'avance
DL
 

Pièces jointes

  • 7-0(TFB-1).xlsx
    31.6 KB · Affichages: 2

TooFatBoy

XLDnaute Barbatruc
Explication de la formule suivante :
=SOMMEPROD(('(R)_Céline'!$AV$2:$AV$10<>"")*('(R)_Céline'!$AU$2:$AU$10>MOIS.DECALER(AUJOURDHUI();-240)))


- SOMMEPROD je comprends pas
Ici SommeProd est utilisé pour compter le nombre de cellules d'un tableau correspondant à plusieurs critères de filtrage.
Dans le cas présent les critères de filtrage sont : poste non vacant (cellule non vide) et date de naissance (moins de 20 ans).
La formule peut donc être vue comme étant de la forme =SOMMEPROD((criètre1)*(critère2))


- ('(R)_Céline'!$AV$2:$AV$10<>"") je comprends pas
Je ne sais pas si tu as remarqué, mais j'ai raccourci le nom de la feuille, qui est donc devenu (R)_Céline.
J'ai fais ça pour que les formules soient plus lisibles. ;)
('(R)_Céline'!$AV$2:$AV$10<>"")
C'est le critère1 : cellule non vide de la colonne AV de la feuille (R)_Céline.


- * je comprends pas
Dans ce SommeProd le * correspond à un et : critère1 et critère2.


- ('(R)_Céline'!$AU$2:$AU$10>MOIS.DECALER je comprends pas
- (AUJOURDHUI();-240)))
En fait c'est ('(R)_Céline'!$AU$2:$AU$10>MOIS.DECALER(AUJOURDHUI();-240)))
C'est le critère2 : date de naissance strictement supérieure à 20 ans par rapport à aujourd'hui, pour trouver les personnes qui ont moins de 20 ans.
20 ans = 240 mois, donc MOIS.DECALER(AUJOURDHUI();-240) donne la date d'aujourd'hui moins 20 ans.


Est-ce plus clair ainsi ?
 
Dernière édition:

TooFatBoy

XLDnaute Barbatruc
Après de longs échanges ''philosophiques'' :
c'est le raisonnement date d'anniversaire, qui prime
et
leur résonnement est en =DATEDIF(F28;AUJOURDHUI();"Y")
Ah oui, ça a super bien brainstormé... ça a même été un véritable ouragan !
Le problème des ouragans, c'est que ça fait des dégâts 😅

Ce que tu dis-là me paraît totalement contradictoire :
- soit c'est la date anniversaire qui compte (et donc on compte le nombre de jours de chaque personne),
- soit c'est l'âge que les personnes ont en gros (à 6 mois près).
 

Discussions similaires

Statistiques des forums

Discussions
315 098
Messages
2 116 190
Membres
112 679
dernier inscrit
Yupanki