XL 2016 [RÉSOLU] Calculer une valeur qui apparait plusieurs fois dans un tableau (TCD, Power Query)

king76

XLDnaute Nouveau
Bonjour,

J'ai simplifié mon problème que je traine depuis des jours dans un fichier ci-joint afin d'obtenir le plus d'aide possible.

J'ai une liste d'usagers qui peuvent être rencontrés plusieurs fois par mois :

1685504842031.png


Ici, on peut voir par exemple que Sabrina Manchester a été rencontré le 1 juillet 2022 et le 2 juillet 2022.

Puis pour chaque usager, il peut y avoir jusqu'à 6 enfants de déclarés :

1685504923908.png


Ici, on peut voir que Sabrina Manchester à deux enfants, mais on peut voir aussi qu'Olga Bristol à deux enfants du même âge (des jumeaux par exemple).

Ensuite avec Power Query j'ai réuni les deux tableaux afin de pouvoir aire un tableau TCD et graphique :

1685505104400.png


Lorsque je veux afficher le nombre d'enfants par âge, je vais chercher le nombre de fois (distinct) que l'usager apparait dans ce tableau ci-dessous pour chaque âge.

1685505035605.png


En théorie ça fonctionnerait, sauf dans un cas de figure que je n'arrive pas à résoudre. Dans le cas ou un usager à deux enfants du même page (à cause du distinct sur le nom, il ne fait le calcul qu'une seule fois).

Par exemple ici dans le TCD ci-dessus pour la ligne 4-5 ans, il devrait s'afficher quatre et pas deux.

Si on regarde le tableau tout en haut, on voit bien qu'il y a 4 enfants au total :

1685505217063.png


J'ai beau retourner le problème dans tous les sens, ça dépasse mes compétences.

Auriez-vous une idée pour résoudre ce problème ? Ce serait grandement apprécié.

Merci.
 

Pièces jointes

  • exemple.xlsm
    411.4 KB · Affichages: 14

king76

XLDnaute Nouveau
Salut,

Les dates de suivis j'en ai besoin parce que tout le fichier doit utiliser la chronologie.

Je dois pouvoir choisir en premier une période qui va déterminer le choix des Usagers et afficher les graphiques.

Merci
 

Cousinhub

XLDnaute Barbatruc
Inactif
Bonjour,

[N'apporte rien au fil/]
FireFox 113.0.2 (64 bits)
Lorsque je télécharge et ouvre le fichier joint, celui-ci s'ouvre en 3 exemplaires...
Avez-vous le même comportement?
Pour info, je ne fais bien qu'un seul clic sur le fichier, et à la fenêtre d'option, j'ouvre directement (sans enregistrer)
Pas vu ce phénomène sur d'autres fichiers du jour dans d'autres fils
[\N'apporte rien au fil]

Bonne journée
 

chris

XLDnaute Barbatruc
RE

Utiliser la chronologie pour compter quoi dans les enfants : tu ne dis pas clairement ce que tu veux analyser
Si on utilise une base liée au temps il y a forcément un dénombrement lié aux dates...

Oui ton fichier à plusieurs fenêtres qui s'ouvrent : dans la bare de typ on voit -1, -2...

Il faut fermer les fenêtres inutiles et enregistrer la derrnière (ou -1 disparait quand il ne reste plus qu'une)
 

king76

XLDnaute Nouveau
Chris,

Pourtant il me semblais que c'était clair dans mon premier message, je veux sortir un TCD avec le nombre d'enfants pour chaque tranche d'âge.

Je peux le faire facilement s'il n'y a pas la notion de temps, c'est à dire en parcourant les fiches de tous les usagers.

C'est toutefois primordial de passer par la chronologie, car l'objectif est de pouvoir connaître le nombre d'enfants qui ont été aidé par exemple au premier trimestre.

Dans le vrai fichier il y a plus de données que cela : le sexe de l'usager, composition de la famille, besoin principal exprimé etc.

Pour chaque mois je veux savoir Combi d'hommes ou de femmes ont été rencontrés, etc.

Mais je n'ai pas trouvé quoi faire pour avoir le nombre de leur enfants.

Dans ma tête ça me semblait facile pourtant :

1) Extraire tous les suivis à partir de la date
2) Utiliser la liste des clients attachés à chaque date et en sortir une liste unique
3) Pour chaque usager, compter le nombre d'enfants
4) Additionner les enfants
4) Créer un tableau à partir de cette donnée.

En programmation ce serait ainsi que je procéderais.

Avec Excel c'est autre chose.

Merci
 

king76

XLDnaute Nouveau
Salut,

Quelqu'un m'a fait parvenir (sur un autre forum), une solution en VBA qui semble fonctionner. Ça consiste à recréer un tableau qui ressemble à celui générer par Power Query puis avec une fonction VBA, construire le TCD.

Ça fonctionne ! J'ai réussi à l'intégrer dans mon code, grâce aux explications de chatGPT :)

Le fichier en question ci-joint pour les curieux.

Merci à cow18 s'il passe ici.
 

Pièces jointes

  • exemple-cow18-vba.xlsm
    466.7 KB · Affichages: 3

king76

XLDnaute Nouveau
Excellent merci Chris pour ta solution avec Power Query ! Je vais prendre celle-ci et supprimer tout le code VBA ;)

Bonne fin de journée !

PS : Le code de Zebulon c'était la version sans prendre ne compte les dates.
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
315 087
Messages
2 116 083
Membres
112 654
dernier inscrit
SADIKA