XL 2016 extraire une liste avec avec 2 critères (formule ou VBA)

piga25

XLDnaute Barbatruc
Bonjour,

Pour l'instant j'arrive à effectuer la recherche avec les deux critères (pays et arme) mais je n'arrive pas à transformer cela en formule matricielle afin d'effectuer les recherches sur tout mon tableau.

En choisissant le type d'arme (cellule E2), j'aimerais avoir dans chaque colonne des pays la liste des noms correspondant à son pays et au type d'arme choisi.
Ex: arme FH
pays : AHO
Nom2
Nom3

Merci
 

ChTi160

XLDnaute Barbatruc
Bonjour le Fil
Question n° 1
Quand tu dis :
pour le pays cela serait en cellule D3 (pays organisateur) et E3 (pays visiteur).
Comment vois-tu la recherche (tu recherches à la fois le D3 et E3 ou alors l'un ou l'autre ?
Je ne comprends pas (un petit exemple)

Question n° 2
Quand tu dis :
Dans mon fichier final, je n'ai besoin que de deux pays. En faisant ainsi le code devrait s'exécuter plus vite.
Tu parles des pays qui actuellement sont sur la Ligne "F3: EN3" environ (139)
Tu n'en aurais plus que Deux (F3:G3) ?

Question n° 3
Tu fais donc ou une recherche sur E2 et D3 ou E2 et E3 ?
Dans l'attente
Bonne fin de journée
Jean marie
 

piga25

XLDnaute Barbatruc
Bonjour,

Chris,
Merci cela fonctionne. Je n'ai pas Power Query mais Power Pivot.
Pour actualiser le tableau, il faut l'activer et l'actualiser, cela n'est pas automatique. Je pense pouvoir le faire avec un petit code.

ChTi160,
Je te mets un fichier type pour effectuer mes recherches de liste. Comme cela je pourrai intégrer directement la feuille dans mon fichier final.
Les explications.
1/ choix l'arme en cellule K1 (liste déroulante armes)
2/ choix du pays organisateur en K4 (liste déroulante Pays)
Inscription verticale de la liste suivant les critères à partir de K7
3/ choix du pays visiteur en M4 (liste déroulante Pays)
Inscription verticale de la liste suivant les critères à partir de M7
Si possible déclenchement du code à la validation des critères (K1 ou K4 ou M4)

Merci à vous
 

Pièces jointes

  • liste tirreur V5-Chti160.xlsm
    400.3 KB · Affichages: 3

chris

XLDnaute Barbatruc
RE
Si, tu as PowerQuery : accès via l'onglet Données : notamment Données, Obtenir des données, Lancer PowerQuery

Pour actualiser on peut automatiser par VBA mais reste à définir l’évènement car tu es supposé sélectionner 4 valeurs donc est-ce F3 qui déclenche ?

Le code, dans le module de la feuille sera
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address <> "$F$3" Then Exit Sub
    With [Choix_2].ListObject
        .QueryTable.BackgroundQuery = False
        .QueryTable.Refresh
        .HeaderRowRange.Style = "ET"
    End With
End Sub
 
Dernière édition:

chris

XLDnaute Barbatruc
RE

J'ai édité le code pour enlever l'exécution en arrière plan sinon le VBA ira plus vite que la requête et n'appliquera pas le style

On peu aussi désactiver cette exécution en arrière plan dans les propriétés de la requête
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 322
Membres
103 178
dernier inscrit
BERSEB50