Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Extraire toutes lignes lignes d'un tableau correspondant à une liste de nom

maroon

XLDnaute Junior
Bonjour,

J'ai encore besoin de votre aide précieuse.

J'essaie de trouver comment extraire toutes les lignes d'un tableau dont la colonne X correspond à une liste de nom que j'ai dans une autre feuille. Je sais comment extraire toutes les lignes correspondant à 1 nom mais je beug quand il sagit d'une liste de nom. Après il s'agit de copier l'ensemble des ligne dans une autre feuille.
J'ai cherché sur le forum mais je ne troue pas... je ne sais pas s'il y a une fonction existante ou s'il faut faire une macro?

Dans mon fichier exemple, il faudrait que je puisse récupérer toutes les lignes du tableau en feuil1 dont les noms correspondent aux noms de la liste en feuil2 et les copier en feuil3.
Est-ce que quelqu'un aurait la possibilité de m'apporter une solution?

Merci d'avance!!
 

Pièces jointes

  • Excel-downloads-extraire-liste.xlsx
    14 KB · Affichages: 13

maroon

XLDnaute Junior
Bonjour @JHA et @Hasco,

Merci beaucoup pour vos réponses rapides, c'est exactement ce que je voulais!
Par contre je ne sais pas du tout comment vous avez fait!
Je crois que je n'ai jamais utilisé les fonctions PQ!

Est-ce que c'est possible d'avoir les étapes que vous avez effectuées?
 

job75

XLDnaute Barbatruc
Bonjour à tous,

Voyez le fichier joint et cette macro très classique dans la feuille "Résultat" :
VB:
Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
Cells.Delete 'RAZ
With Sheets("Feuil1").[A1].CurrentRegion
    .Cells(2, .Columns.Count + 2) = "=COUNTIF(Feuil2!A:A,A2)" 'critère (en K2)
    .AdvancedFilter xlFilterCopy, .Cells(1, .Columns.Count + 2).Resize(2), [A1] 'filtre avancé copié
    .Cells(2, .Columns.Count + 2) = "" 'efface le critère
End With
End Sub
Elle utilise le filtre avancé et se déclenche quand on active la feuille.

A+
 

Pièces jointes

  • Extraire-liste(1).xlsm
    22.5 KB · Affichages: 10

JHA

XLDnaute Barbatruc
Bonjour @job75

J'ai essayé le filtre avancé avant de poster la réponse avec power query mais je n'ai pas obtenu le résultat escompté. Pour les premières données cela fonctionnait mais après il affichait plus de noms que la liste.
Je n'ai pa trouvé la solution par filtre avancé, as-tu une idée du problème?

JHA
 

job75

XLDnaute Barbatruc
Bonjour JHA, le forum,

Ton filtrage ne va pas.

Il faut utiliser comme zone de critères la plage Feuil1!$K$1:$K$2.

Avec cette formule en Feuil1!K2 :
Code:
=NB.SI(Feuil2!A:A;A2)
C'est ce que fait ma macro.

A+
 

JHA

XLDnaute Barbatruc
Bonjour à tous,

Oui, je m'en suis aperçu en ouvrant ton fichier.

Il me semblait qu'avec les valeurs misent les unes sous les autres cela revenait au "ou" pour le filre avancé, d'où mon erreur.
Cela va mieux avec la formule de critère:
VB:
=NB.SI(Tableau1[NOMS];Feuil1!A2)

JHA
 

Pièces jointes

  • Excel-downloads-extraire-liste Bis.xlsx
    521.2 KB · Affichages: 11

maroon

XLDnaute Junior
Bonjour job75,

Cette macro fonctionne très bien, merci! Je ne comprends pas bien ce que vient faire la cellule K2 dans l'histoire mais en tout cas ça fonctionne!

Merci encore pour ta réponse!
 

Discussions similaires

Réponses
29
Affichages
954
Réponses
3
Affichages
306
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…