VBA - Autofiltre sur plusieurs colonnes
Jeromedu96
-
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
Bonsoir à tous,
Je travaille en ce moment sur des tableaux et j'aurai besoin de votre aide pour ma macro.
Je souhaite trier des colonnes selon des criteres (cf exemple ci dessous).
Reference Nombre Type
ALLO 3 TRUE
BB 3 TRUE
CCC 4 FALSE
Là où cela se complexifie, c'est que lorsque j'ouvre le fichier excel à updater tous les jours, les colonnes ne s'affichent pas toujours dans le bon sens (va savoir pourquoi...): parfois la colonne reference est en 1ère position, parfois en 2e etc. Je ne peux donc pas faire de filtre classique:
With Selection
.AutoFilter
.AutoFilter field:=1, Criteria1:...
.AutoFilter field:=2, Criteria1:...
End With
J'ai donc essayé de faire un filtre avec
With ActiveWorkbook.Worksheets("Feuil1").Cells
Set MaCell2 = .Find(What:="Reference", After:=ActiveCell, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext)
MaCell2.Select
Colonne2 = ActiveCell.Column
Ligne2 = ActiveCell.Row
ActiveWorkbook.Worksheets("Feuil1").Range(Cells(Ligne2, Colonne2), Cells(Ligne2 + 60000, Colonne2)).Select
Selection.AutoFilter Field:=1, Criteria1:=ALLO
End With
Sauf qu'après, je galère pour faire un deuxieme filtre par dessus avec set MaCell3=.Find(What="Nombre".............................): je copie/paste à chaque fois les données (values) sur une nouvelle feuille pq le filtre ne marche pas deux fois sur la meme feuille en changeant de référentiel...
Pourriez vous m'aider pour:
- cumuler des filtres sur plusieurs colonnes sachant que je change à chaque fois de référenciel (d'abord la colonne sous le nom "reference, puis celle sous le nom "nombre"...)?
Merci mille fois, cela me serait d'une tres grande aide!
Je travaille en ce moment sur des tableaux et j'aurai besoin de votre aide pour ma macro.
Je souhaite trier des colonnes selon des criteres (cf exemple ci dessous).
Reference Nombre Type
ALLO 3 TRUE
BB 3 TRUE
CCC 4 FALSE
Là où cela se complexifie, c'est que lorsque j'ouvre le fichier excel à updater tous les jours, les colonnes ne s'affichent pas toujours dans le bon sens (va savoir pourquoi...): parfois la colonne reference est en 1ère position, parfois en 2e etc. Je ne peux donc pas faire de filtre classique:
With Selection
.AutoFilter
.AutoFilter field:=1, Criteria1:...
.AutoFilter field:=2, Criteria1:...
End With
J'ai donc essayé de faire un filtre avec
With ActiveWorkbook.Worksheets("Feuil1").Cells
Set MaCell2 = .Find(What:="Reference", After:=ActiveCell, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext)
MaCell2.Select
Colonne2 = ActiveCell.Column
Ligne2 = ActiveCell.Row
ActiveWorkbook.Worksheets("Feuil1").Range(Cells(Ligne2, Colonne2), Cells(Ligne2 + 60000, Colonne2)).Select
Selection.AutoFilter Field:=1, Criteria1:=ALLO
End With
Sauf qu'après, je galère pour faire un deuxieme filtre par dessus avec set MaCell3=.Find(What="Nombre".............................): je copie/paste à chaque fois les données (values) sur une nouvelle feuille pq le filtre ne marche pas deux fois sur la meme feuille en changeant de référentiel...
Pourriez vous m'aider pour:
- cumuler des filtres sur plusieurs colonnes sachant que je change à chaque fois de référenciel (d'abord la colonne sous le nom "reference, puis celle sous le nom "nombre"...)?
Merci mille fois, cela me serait d'une tres grande aide!
A voir également:
- VBA - Autofiltre sur plusieurs colonnes
- Formule moyenne excel plusieurs colonnes - Guide
- Classer par ordre alphabétique excel plusieurs colonnes - Guide
- Comment faire des colonnes sur word - Guide
- Comment déplacer une colonne sur excel - Guide
- Tableau croisé dynamique plusieurs colonnes - Guide