Bonjour,

Je me permets de solliciter votre aide sur le point suivant :

Je dispose d'un tableau sur EXCEL : NOM (colonne 1) , PRENOM (colonne 2), DEPARTEMENT (colonne 3).

Je souhaite réaliser un filtrage automatique sur ce tableau. Je souhaite filtrer sur la colonne NOM, récupérer tous les éléments présents en un seul exemplaire de la colonne PRENOM et les stocker dans un tableau.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Worksheets ("TEST").Range("A1").AutoFilter field:=1, Criteria1:="DUPONT"
Je ne sais pas comment faire pour récupérer chaque donnée unitaire de la colonne PRENOM sachant que NOM est filtré.

L'idée est de pouvoir récupérer sur une feuille le résultat de plusieurs filtrages consécutifs.

Initialement, j'ai un tableau de nom : "DUPONT", "DURANT","DUCHENE". Je souhaite obtenir sur une même feuille EXCEL, le résultat du filtrage avec "DUPONT", suivi de celui avec "DURANT", enfin suivi de celui avec "DUCHENE".

Sur la feuille résultat, il y a en première ligne l'entête. Mais quand je lance la macro, je souhaite récupérer uniquement les lignes filtrées pour chaque cas, donc sans les en-têtes.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
     Sheets("ORIGINE").Select
      Columns("1:4").Select
      Selection.AutoFilter
      ActiveSheet.Range("$A$1:$D$1500").AutoFilter Field:=1, Criteria1:=tab_nom(i), Operator:=xlAnd
      Range("A1").Select
 
      Set rngSelect = ActiveCell.CurrentRegion.SpecialCells(xlCellTypeVisible)
      rngSelect.Copy
 
      Sheets("FINAL").Select
      Cells.PasteSpecial xlPasteAll
Je ne sais pas comment faire pour que le code tienne compte notamment du nombre d'éléments dans le tableau de nom et de la dernière ligne de la feuille résultat.

Merci d'avance pour votre aide.