XL 2019 Recherche de valeur suivant critère mais avec plusieurs résultats possibles

alain160

XLDnaute Nouveau
Bonjour,

Dans mon tableau ci joint en utilisant la fonction : =EQUIV (ou =RECHERCHEV ou =INDEX+EQUIV),

Je n’obtiens que le 1er résultat trouvé pour un même critère.

Les autres résultats ne sont pas renseignés. Dans mon exemple avec » critère 12 » le 6 est oublié.

J'utilise EXCEL 2019 donc je ne peux pas utiliser la fonction =FILTRE qui nécessite Excel 365.

Y a-t-il une solution avec ma version d’Excel ?

Merci par avance et cordialement

2023-07-30_165820.jpg
 

oguruma

XLDnaute Occasionnel
En effet le passage par un TCD peut contourner le manque de la fonction filtre.
Si tu es à l'aise en VBA tu peux piloter le contenu du Segment de TCD et récupérer la valeur du segment sélectionné via un TCD intermédiaire caché.
Autre piste en combinant les segment c'est une fonction matricielle via DECALER...
Si tu es à l'aise en Excel.... tout cela devrait te mettre sur la route....
 

oguruma

XLDnaute Occasionnel
Bonjour

2 solutions :
  1. Filtre par segment
  2. Extraction via Powerquery
Regarde la pièce jointe 1175564
L'ajout d'un petit bouton avec un bout de code comme celui-ci pourrait rendre services

ActiveWorkbook.Connections("Requête - RQ_MAJ_SEGMENT").Refresh

Voici une solution... avec en prime dans ce classeur mes Classes VBA qui permettent de gérer les messages personnalisés.

Afin d'avoir la main sur le déroulement de la requête j'ai désactivé le traitement en background ainsi le message de fin s'affichera dès que la RQ est terminée.
1690733607543.png


C'est systématiquement à faire quand on souhaite piloter la RQ par macro
 

Pièces jointes

  • Filtres_V2.xlsm
    59 KB · Affichages: 8
Dernière édition:

oguruma

XLDnaute Occasionnel
Bonjour

Ce n'est pas un TCD mais un simple tableau structuré...

Sachant que le bouton d'actualisation existe nativement dans Excel, je ne vois pas trop l'intérêt d'un bouton VBA...
Quitte à coder une procédure évènementielle au changement du tableau de choix me parait plus logique.
En effet une possibilité. Mais pour certains utilisateurs qui ne maîtrisent pas Excel, et le fait de leur dire "clic droit sur le tableau et tu cliques sur Actualiser".... ça ne passe pas toujours. Ils préfèrent un bouton [ACTUALISER] et on est maître de l'activation du refresh.
En phase sur l'activation du refresh automatique à l'open du tableau. Cependant quand ta requête prend en charge plusieurs milliers de lignes, le chargement du classeur prend un peu plus de temps et c'est un peu balo d'attendre pour une simple consultation du classeur dans le but de visualiser une donnée.
Ainsi l'utilisateur a la main sur le déclenchement de l'actualisation qui se trouve à sa portée via le petit bouton placé adroitement au dessus du tableau.... Enfin c'est ma vision, mais celle-ci est discutable, je l'admets. Tout dépend du niveau des utilisateurs pour qui tu as fait le dév.
Je te rejoins, quand le dév est pour NOUS en "one shot" on ne fait pas trop dans la dentelle car on maîtrise notre sujet (enfin je suppose ;)) et en général quand on se fait un petit truc à l'arrache.... on fignole pas autant qu'une application que l'on doit livrer à des métiers par exemple qui n'ont pas le temps pour les manipulations techniques. J'en ai connu.... tu perds plus de temps à expliquer les choses que de faire un petit bouton avec 4 ou 5 lignes de code.
Même le bouton Actualiser mis à disposition par Excel n'est pas toujours simple à appréhender et à le situer.
Mais bon.... à discuter :)
 

alain160

XLDnaute Nouveau
L'ajout d'un petit bouton avec un bout de code comme celui-ci pourrait rendre services

ActiveWorkbook.Connections("Requête - RQ_MAJ_SEGMENT").Refresh

Voici une solution... avec en prime dans ce classeur mes Classes VBA qui permettent de gérer les messages personnalisés.

Afin d'avoir la main sur le déroulement de la requête j'ai désactivé le traitement en background ainsi le message de fin s'affichera dès que la RQ est terminée.
Regarde la pièce jointe 1175565

C'est systématiquement à faire quand on souhaite piloter la RQ par macro
Merci oguruma
 

Discussions similaires

  • Question
Microsoft 365 RECHERCHE and co
Réponses
18
Affichages
2 K

Statistiques des forums

Discussions
312 206
Messages
2 086 227
Membres
103 159
dernier inscrit
FBallea