FILTRE VBA

Bonjour a tous

malgré mes recherches et consultations, je n'arrive pas a trouver de solutions a mon problème.

J'ai un tableau enorme (+ de 100000 lignes) et j’aimerai extraire des lignes suivant 3 conditions (le type-le mois-les rubriques) et je voudrais qu'il m'affiche tous les lignes concernées par ces filtres

j'ai tenté de mettre une formule index equiv mais il ne me donne pas le résultat escompté

j'ai également tenté par VBA mais je sèche. j'ai pensé egalement au TCD mais c'est trop restreint pour mon travail par la suite.

pourriez vous m'aider SVP

Je joins un fichier test avec les éléments que je souhaite obtenir

merci pour votre aide

14filtre.xlsx (17.31 Ko)

bonjour et

pourquoi ne pas utliser les filtres élaboré d'excel ??

soit manuellement (comme dans le fichier joint)

soit a l'aide d'une macro

fred

24filtre.xlsx (18.10 Ko)

Merci je ne connaissais pas ces filtre élaborés et c'est super!

j'ai cependant une question: quand je décide de changer de critères je suis obligée d'aller dans données-filtre avancé pour voir les éléments ?

J'ai pensé creer une macro, mais je bloque sur le changement de cellule

merci pour encore pour votre aide

Sub Macro1()

Range("B2").Select

ActiveCell.FormulaR1C1 = "B"

Range("D2").Select

ActiveCell.FormulaR1C1 = "2"

Range("F2").Select

Range("A6:L19").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _

Range("A1:L2"), Unique:=False

Range("A2").Select

End Sub

Bonjour

voici une solution par macro :

Option Explicit
Sub filtrage()
'déclaration d'un variable de type range
Dim plg As Range
'effacement des données précédentes
[O:Z].Delete
'definit la plage ou se trouve la BDD
Set plg = Range("A6:L" & Cells(Rows.Count, 1).End(xlUp).Row)
'execution du filtre avec copy du resultat sur la meme feuille dans les colonnes O à Z
plg.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=[A1:L2], CopyToRange:=[O6:Z6]
End Sub

j'ai fait comme dans le fichier fourni initialement le résultat du filtre élaboré se trouve dans la même feuille que l’emplacement de la BDD

A+

fred

31filtre.xlsm (24.91 Ko)

Bonjour

merci beaucoup fred2406

c'est geant !!

re

merci

Fred

oups !! petit detail comment puis-je modifier la macro pour que les données filtrées s'affiche sur une autre feuille ?

Merci encore

re

sur une autre feuille qui s’appellerait "resultat"

Option Explicit
Sub filtrage()
'déclaration d'un variable de type range
Dim plg As Range
'effacement des données précédentes
sheets("resultat").[A:L].Delete
'definit la plage ou se trouve la BDD
Set plg = Range("A6:L" & Cells(Rows.Count, 1).End(xlUp).Row)
'execution du filtre avec copy du resultat sur la meme feuille dans les colonnes O à Z
plg.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=[A1:L2], CopyToRange:=sheets("resultat").[A1:L1]
End Sub

Fred

Bonjour

Merci beaucoup. C'est top

Frédérique

Bonjour

encore une fois ....

merci

Fred

Rechercher des sujets similaires à "filtre vba"