Filtrer une feuille selon une liste de valeurs
Bonjour à tous !
Je vous expose mon projet et mon souci :
Je suis passionné de Basket-Ball et j'adore faire des statistiques dessus. Je suis entrain de construire un fichier qui se divise comme ceci :
- Feuille 1 : La liste des matchs du jour que j'actualise à la main en rentrant en colonne A le nom des équipes (une ligne = une équipe qui joue le soir)
- Feuille 2 : La liste de tous les joueurs de la NBA avec leurs statistiques (en colonne A le nom de l'équipe dans laquelle ils jouent et dans les autres colonnes chacune de leurs stats)
- Feuille 3 : 3 simulateurs de créateurs d'équipes (j'entre le nom de 5 joueurs pour former une équipe, ça me récupère les noms de l'équipe où ils jouent + ça me récupère 5 statistiques différentes dont ça fait la moyenne). Ces infoslà sont récupérées non pas dans la Feuille 2 mais dans cette même feuille (Feuille 3) grâce à un filtre; mais c'est là que j'ai un problème et j'y viens.
Ce que je souhaite faire : j'aimerais que dans ma feuille3 en dessous des 3 simulateurs de créateurs d'équipes, que je puisse récupérer les joueurs et leurs statistiques présents dans la feuille 2, mais seulement pour les joueurs dont le nom d'équipe = un des noms d'équipes que j'ai rentrés dans la Feuille 1.
J'ai réussi jusqu'à maintenant grâce à la fonction =FILTRE qui ressemble en gros à :
=FILTRE('Feuille2'!A2:K179;('Feuille2'!A2:A179=Feuille1!A2)+('Feuille2'!A2:A179=Feuille1!A3)+....etc. pour que ça récupère chaque match de la liste de la colonne A de ma feuille 1.
Le problème que j'ai avec cette technique c'est qu'après pour utiliser mon simulateur de créateur d'équipe, j'ai une colonne en L où je coche les joueurs que je veux garder et ensuite je veux trier des colonnes selon ordre croissant/décroissant pour cocher et analyser à mon aise.
Sauf que vu que j'utilise une formule matricielle et bien je ne peux pas trier par ordre croissant ou décroissant le résultat de mon =FILTRE ! et la fonction =TRIER ne fonctionne pas puisque ma colonne L où je coche les joueurs ne fais pas partie de la matrice récupérée (et si elle l'était cette colonne devrait provenir de la Feuille2 et être modifiée là-bas ce qui reviendrait à devoir filtrer à la main mes joueurs en fonction de quelle équipe joue).
Je cherche donc une autre solution pour récupérer mes joueurs de la Feuille2 dans la Feuille 3, en fonction des matchs du jour que je renseigne dans la Feuille1, mais que je puisse trier à ma guise comme dans une feuille/un tableau normal sur le résultat obtenu.
Est-ce que vous auriez une idée ? Je ne sais pas faire de VBA donc je me débrouille comme je peux avec les formules d'Excel. Mais là j'avoue être à court d'idée ^^'
Merci d'avance !
Bonjour à tous !
Et.....
Vous utilisez la fonction FILTRE avec Excel 2019 ?
Il serait judicieux de poster un fichier représentatif (anonymisé...) de votre problématique.
Pardon j'ai fais une erreur en renseignant mon profil : je suis sur Microsoft Office 365 !
Voici mon fichier en question !
Bonjour de nouveau !
Je vous remercie pour la mise à jour de votre profil !
Je vous livre en retour une proposition via Power Query (nativement intégré à votre version Excel)
Power Query vous retourne un tableau structuré (Filtre_Joueurs) sur lequel vous pourrez appliquer les tris voulus.
Pour obtenir ce tableau, Power Query s'appuie sur deux tableaux sources (t_BDD et t_Matchs). Si ces sources évoluent, un clic droit puis Actualiser dans le tableau retourné par Power Query permettra de rafraîchir les données.
Oh c'est super tout ça ! Merci beaucoup JFL !
J'ai quelques questions concernant l'utilisation de ce tableau :
- La Feuille 3 ne m'est plus utile du coup ?
- Concernant la colonne en L dont j'avais besoin pour mettre une petite croix sur les joueurs que je garde, il me suffit de l'ajouter dans le tableau "F2-BDD Joueurs" (t_BDD) pour qu'elle apparaisse sur le tableau PowerQuery et que je puisse coché dans le tableau trié PowerQuery ?
- Le tableau PowerQuery est donc modifiable à souhait et une simple réactualisation remet le contenu à ce qu'il était par défaut ?
- Si je veux ajouter de nouveaux joueurs sur la feuille 2 BDD Joueurs, est-ce que je dois modifier des paramètres ou autre ?
En tout cas c'est super, je connaissais pas du tout PowerQuery et ces possibilités ! C'est ultra pratique !
Bonjour de nouveau !
- La Feuille 3 ne m'est plus utile du coup ?
Exact.
- Concernant la colonne en L dont j'avais besoin pour mettre une petite croix sur les joueurs que je garde, il me suffit de l'ajouter dans le tableau "F2-BDD Joueurs" (t_BDD) pour qu'elle apparaisse sur le tableau PowerQuery et que je puisse coché dans le tableau trié PowerQuery ?
Absolument.
- Le tableau PowerQuery est donc modifiable à souhait et une simple réactualisation remet le contenu à ce qu'il était par défaut ?
Exactement.
- Si je veux ajouter de nouveaux joueurs sur la feuille 2 BDD Joueurs, est-ce que je dois modifier des paramètres ou autre ?
Nullement ! Votre seule obligation est de respecter la structure existante du tableau t_BDD et notamment le nom de la colonne "Equipes", nom utilisé dans une requête PQ.
En tout cas c'est super, je connaissais pas du tout PowerQuery et ces possibilités ! C'est ultra pratique !
Bienvenue dans le monde de Power Query !
Rebonjour !
Merci pour votre rapidité de réponse ! C'est parfait, vous m'avez retirer une sacré épine du pied !
Le sujet est donc résolu. Merci encore JFL pour votre rapidité et votre efficacité dans ce coup de main ;)
Bonne journée à tous :)
Bonjour de nouveau !
Je vous remercie de ce retour.