Power Query Liste déroulante Power Query pour afficher les données si reportant

jojolatribuche

XLDnaute Junior
Bonjour,
J'ai une base de données excell que j'importe en power query et ensuite je splite en fonction de mes besoins la table principale en sous table pour afficher les données avec leur propres scripts.
J'ai donc ici (dans le fichier joint) une table présence.
Dans cette table j'aimerai et je n'y arrive pas :-( avoir une liste déroulante qui me permet d'afficher en dessous les données de la colonnes A ou de la colonne B ou de la colonne C afin qu'au final on imprime la liste de présence des enfants présent au module 1 ou Module 2 ou Module 3

Pouvez-vous m'aider je séche. voici les fichiers en annexe (le zip psydata et mon CSV il volait pas le transmettre comme tel).

merci à ceux qui m'aideront

Jonathan
 

Cousinhub

XLDnaute Barbatruc
Re-,
Comme j'ai ton fichier (que je ne mettrai plus en ligne, et supprimerai en fin de post), dans l'onglet "Présence", en cellules L1, M1 et N1 (par exemple), tu mets ces formules :

Code:
Module 1
=TRIER(FILTRE(Présences[Nom Prénom];Présences[Sélection module 1]=L1))


Module 2
=TRIER(FILTRE(Présences[Nom Prénom];Présences[Sélection module 2]=M1))


Module 3
=TRIER(FILTRE(Présences[Nom Prénom];Présences[Sélection module 3]=N1))
Tu auras alors la liste des participants
Module 1 en L1 et la formule en L2.....
 

jojolatribuche

XLDnaute Junior
Re-,
Comme j'ai ton fichier (que je ne mettrai plus en ligne, et supprimerai en fin de post), dans l'onglet "Présence", en cellules L1, M1 et N1 (par exemple), tu mets ces formules :

Code:
Module 1
=TRIER(FILTRE(Présences[Nom Prénom];Présences[Sélection module 1]=L1))


Module 2
=TRIER(FILTRE(Présences[Nom Prénom];Présences[Sélection module 2]=M1))


Module 3
=TRIER(FILTRE(Présences[Nom Prénom];Présences[Sélection module 3]=N1))
Tu auras alors la liste des participants
Module 1 en L1 et la formule en L2.....
Merci effectivement pas malin de ma part pour fichier source, j'essaye de refaire un CSV mais il plante mon fichier je ne sais pas pq. J'ai testé ta solution mais le but est d'avoir la liste de présence comme elle est déjà mais que je puisse par exemple en A6 avoir une liste de choix Module 1 , Module 2, Module 3 et que si je sélectionne module 3 il me donne que les lignes ou dans la colonne C module 3 apparait.
En Powe rquery déjà fait une liste de choix mais elle pointe sur une colonne avec plusieurs possibilité mais ici malheureusement les choix sont dans 3 colonne différentes.
 

Cousinhub

XLDnaute Barbatruc
avec le VBA en plus se serai top oui merci
Ok, dans ce cas, on va tout faire en VBA...
Dans la cellule A6, tu mets une validation de données

(Afin de rendre dynamique cette opération, tu peux faire ainsi :
Dans la cellule L1, tu mets cette formule :
Code:
=TRANSPOSE($A$9:$C$9)
Ce qui va te donner la liste des 3 premiers noms de colonne (en espérant qu'ils se terminent bien par 1, 2 ou 3, sinon, pour le VBA, il faudra modifier le code)

Puis, dans A6, "Données/Validation de données", tu choisis "Liste", et tu mets cette formule :
1700487246994.png

N'oublie pas le #, c'est pour rendre dynamique la liste.

Et enfin, dans le code évènement de la feuille (clic droit sur le nom de l'onglet, "Visualiser le code"), tu mets cet évènement :

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.CountLarge > 1 Then Exit Sub
If Not Intersect(Target, Range("A6")) Is Nothing Then
    If Target = "" Then
        Me.ListObjects("Présences").Range.AutoFilter
    Else
        Me.ListObjects("Présences").Range.AutoFilter
        Me.ListObjects("Présences").Range.AutoFilter Field:=CByte(Right(Target, 1)), Criteria1:="<>"
    End If
End If
End Sub

Ainsi le filtre est appliqué en fonction du choix, et si tu effaces la cellule, tout est remis
Bon courage
 

Discussions similaires

Statistiques des forums

Discussions
309 756
Messages
2 066 199
Membres
237 964
dernier inscrit
franck85