Power Query Aide - Fonctions pour afficher le détail des inscrits (nom, prénom date de naissance) parmi une liste de différents stages.

jojolatribuche

XLDnaute Junior
Bonjour à tous,

J'ai besoin de votre aide concernant la mise en place avec power query d'un onglet présence pour les stages que j'organise.

Je vous explique la situation:

J'ai un csv qui est extrait de mon site (avec les données d'inscriptions des stagiaires) à différents stages (14 stages en l'occurrence).
De ce fichier que j'importe en power query j'aimerai pouvoir l'utiliser pour différentes utilisations dont ici créer une liste de présence des stagiaires par stage et ensuite l'imprimer pour la remettre au Moniteur.

Mon besoin :

J'aimerai pouvoir en sélectionnant un stage (via liste déroulante) que les coordonnées des stagiaires inscrit à ce stage apparaissent (Nom, Prénom, Date de naissance) et pouvoir mettre à la suite les jours de la semaine Lundi Mardi Mercredi Jeudi Vendredi et que ensuite cette liste puisse être imprimée pour la remettre au moniteur.
Pouvoir choisir le stage m'évitera de multiplier les tables/onglets pour chaque stages et ainsi pouvoir optimiser le fichier que je suis entrain de construire.
Je vous joins le fichier sur lequel je bosse.

Est-ce que quelqu'un peut m'aider? Comment faire?

Merci pour votre aide.
 

Pièces jointes

  • SGSsports dashboard Stages.xlsm
    119.7 KB · Affichages: 9

job75

XLDnaute Barbatruc
Bonjour jojolatribuche,

Le filtrage de la feuille "Présences" est assez évident.

Formule matricielle en K5 :
Code:
=SIERREUR(INDEX(B:B;PETITE.VALEUR(SI(Tableau_Présences[Choix du stage:]=$K$2;LIGNE(Tableau_Présences));LIGNE(K1)));"")
à valider par Ctrl+Maj+Entrée et propager à droite et vers le bas.

A+
 

Pièces jointes

  • SGSsports dashboard Stages.xlsm
    120 KB · Affichages: 4

chris

XLDnaute Barbatruc
Bonjour à tous

On peut paramétrer une requête.

Il faut :
  • extraire la liste unique des stages pour alimenter la liste déroulante (requête à partir d'e la requête principale)
  • nommer la cellule recevant le liste déroulante. J'ai nommée la cellule A2 Stage
  • créer une requête pour récupérer la valeur de la liste déroulante (j'ai ajouté Stage_Choix dans ton classeur)
  • filtrer la requête Présences sur la colonne Choix du stage en se référant à Stage_Choix
N'ayant pas ton CSV on ne peut lire ni toucher à tes requêtes...
De toute évidence il y a une mauvaise approche : tes 3 requêtes sont quasi identiques et lisent le CSV.
Il est conseillé d'avoir une requête qui lit le CSV, y fait le traitement minimim (typage, renommage, nettoyage...)
puis d'utiliser cette requête comme base des autres requêtes qui affinent le traitement selon l'objectif.

Ne pas oublier de paramétrer PowerQuery
Fichier, Options et paramètres, Options de requête, partie GLOBAL : Confidentialité, Toujours ignorer les paramètres de niveau de confidentialité
afin de pouvoir utiliser les cellules nommées
 

Pièces jointes

  • SGSsports dashboard Stages_PQ.xlsm
    120.9 KB · Affichages: 2

jojolatribuche

XLDnaute Junior
Bonjour à tous

On peut paramétrer une requête.

Il faut :
  • extraire la liste unique des stages pour alimenter la liste déroulante (requête à partir d'e la requête principale)
  • nommer la cellule recevant le liste déroulante. J'ai nommée la cellule A2 Stage
  • créer une requête pour récupérer la valeur de la liste déroulante (j'ai ajouté Stage_Choix dans ton classeur)
  • filtrer la requête Présences sur la colonne Choix du stage en se référant à Stage_Choix
N'ayant pas ton CSV on ne peut lire ni toucher à tes requêtes...
De toute évidence il y a une mauvaise approche : tes 3 requêtes sont quasi identiques et lisent le CSV.
Il est conseillé d'avoir une requête qui lit le CSV, y fait le traitement minimim (typage, renommage, nettoyage...)
puis d'utiliser cette requête comme base des autres requêtes qui affinent le traitement selon l'objectif.

Ne pas oublier de paramétrer PowerQuery
Fichier, Options et paramètres, Options de requête, partie GLOBAL : Confidentialité, Toujours ignorer les paramètres de niveau de confidentialité
afin de pouvoir utiliser les cellules nommées
Bonjour merci pour ton aide.
Je débute dans Power query (il faut un début à tout)
En effet mes 3 requêtes sont les mêmes j'ai fait un copier coller de la requête initiale du CSV, je n'ai pas trouvé comment faire autrement puis-je t'envoyer par MP le fichier CSV? car je t'avoue que pour je suis déjà perdu de ce qui est à faire lol.... et ton approche me parrait la bonne dans le sens ou j'aimerai justement éviter le maximum des formules et que tout ce passe en backround via Power Query
Merci de ton aide
 

jojolatribuche

XLDnaute Junior
Bonjour jojolatribuche,

Le filtrage de la feuille "Présences" est assez évident.

Formule matricielle en K5 :
Code:
=SIERREUR(INDEX(B:B;PETITE.VALEUR(SI(Tableau_Présences[Choix du stage:]=$K$2;LIGNE(Tableau_Présences));LIGNE(K1)));"")
à valider par Ctrl+Maj+Entrée et propager à droite et vers le bas.

A+
Merci pour ton support, j'aimerai vraiment que tout se passe par Powerquery pour eviter un max les formules :-( mais je garde sous le coude car simple et efficace tout de même..

Cordialement
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

voici même si j'ai pas tout compris, un exemple Power Query
A partir de votre tableau "Tableau_SGDATAS" j'ai créé une requête qui en tire une liste de stages uniques.
Liste dont les valeurs servent de validation de données à la cellule j1 de la feuille "Présences"
Sur choix d'un stage dans cette liste en j1 le tableau bleu nommé "T_Presences_Stage" s'actualise grâce au morceau de code suivant contenu dans le module de code de la feuille :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address(0, 0) = "J1" Then
        With ListObjects("T_Présences_Stage").QueryTable
            If Not .Refreshing Then .Refresh
        End With
    End If
End Sub

Bien-sûr le code n'est pas obligatoire. Si vous le supprimez, il vous faudra actualiser avec les méthodes traditionnelles.

si vous avez une alerte de confidentialité/sécurité, faites ce que @chris vous disait plus haut.

Cordialement
 

Pièces jointes

  • SGSsports dashboard Stages.xlsm
    130.4 KB · Affichages: 4
Dernière édition:

Statistiques des forums

Discussions
311 725
Messages
2 081 947
Membres
101 849
dernier inscrit
florentMIG