Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Récupérer filtre élaboré avec VBA ?

3 réponses
Avatar
RENAUD Eric
Bonjour,

Je souhaiterais récupérer le résultat d'un filtre élaboré sur place (et non
pas automatique) via VBA

Pour le filtre auto j'ai le code suivant :

Dim MaPlage As Range
' Représente les données filtrées et les titres.
Set MaPlage = Sheets("Feuil1").AutoFilter.Range
' Représente seulement les données
Set MaPlage = MaPlage.Offset(1, 0).Resize(MaPlage.Rows.Count - 1,
MaPlage.Columns.Count)

Je me suis dit en remplaçant AutoFilter par AdvancedFilter cela va aller
mais hélas non.
Existe t'il une solution ?
D'avance merci

3 réponses

Avatar
papou
Bonjour
Pour un filtre élaboré il te faut une zone de critère, donc par exemple avec
une feuille nommée "critere" et dans cette feuille un critère simple défini
sur une plage A1 à A2 :
MaPlage.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Sheets("Critere").Range("A1:A2"), Unique:úlse

Cordialement
Pascal


"RENAUD Eric" <erenaud(retirerceci)@fr.fm> a écrit dans le message de news:
OS$
Bonjour,

Je souhaiterais récupérer le résultat d'un filtre élaboré sur place (et
non
pas automatique) via VBA

Pour le filtre auto j'ai le code suivant :

Dim MaPlage As Range
' Représente les données filtrées et les titres.
Set MaPlage = Sheets("Feuil1").AutoFilter.Range
' Représente seulement les données
Set MaPlage = MaPlage.Offset(1, 0).Resize(MaPlage.Rows.Count - 1,
MaPlage.Columns.Count)

Je me suis dit en remplaçant AutoFilter par AdvancedFilter cela va aller
mais hélas non.
Existe t'il une solution ?
D'avance merci




Avatar
RENAUD Eric
Je sais faire un filtre élaboré mais ce que je veux c'est exporter le
résultat de la requête via du code VBA comme je peux le faire avec un filtre
auto et le code suivant ....
Set Destination =
Workbooks(TheNewWorkbook).Sheets("Feuil1").Range("A65536").End(xlUp)
Set MaPlage = Sheets(TheNameSheet).AutoFilter.Range
Set MaPlage = MaPlage.Offset(0, 0).Resize(MaPlage.Rows.Count,
MaPlage.Columns.Count)
MaPlage.Copy Destination



"papou" <cestpasbon@çanonplus> a écrit dans le message de news:

Bonjour
Pour un filtre élaboré il te faut une zone de critère, donc par exemple
avec une feuille nommée "critere" et dans cette feuille un critère simple
défini sur une plage A1 à A2 :
MaPlage.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Sheets("Critere").Range("A1:A2"), Unique:úlse

Cordialement
Pascal


"RENAUD Eric" <erenaud(retirerceci)@fr.fm> a écrit dans le message de
news: OS$
Bonjour,

Je souhaiterais récupérer le résultat d'un filtre élaboré sur place (et
non
pas automatique) via VBA

Pour le filtre auto j'ai le code suivant :

Dim MaPlage As Range
' Représente les données filtrées et les titres.
Set MaPlage = Sheets("Feuil1").AutoFilter.Range
' Représente seulement les données
Set MaPlage = MaPlage.Offset(1, 0).Resize(MaPlage.Rows.Count - 1,
MaPlage.Columns.Count)

Je me suis dit en remplaçant AutoFilter par AdvancedFilter cela va aller
mais hélas non.
Existe t'il une solution ?
D'avance merci








Avatar
anonymousA
Bonjour,

un exemple de filtre élaboré avec une copie de ce qui en résulte sur une
autre feuille. tu peux changer les noms de fichier si tu veux. La seule
contrainte dans l'instruction ci-dessous est d'avoir effectué un filtre
automatique sur la BDD (à cause du nom Feuil1!_Filterdatabase, mais ce
n'est pas obligatoire si tu adaptes.

'ici la BDD est en feuille1,la zone de critères (IU1:IV2)en feuille 3 et
la copie se fait en feuille 2 à partir de la cellule A1

[[toto4.xls]Feuil1!_Filterdatabase].AdvancedFilter 2,
[[toto4.xls]Feuil3!IU1:IV2], [[toto4.xls]Feuil2!A1]

A+
Je sais faire un filtre élaboré mais ce que je veux c'est exporter le
résultat de la requête via du code VBA comme je peux le faire avec un filtre
auto et le code suivant ....
Set Destination =
Workbooks(TheNewWorkbook).Sheets("Feuil1").Range("A65536").End(xlUp)
Set MaPlage = Sheets(TheNameSheet).AutoFilter.Range
Set MaPlage = MaPlage.Offset(0, 0).Resize(MaPlage.Rows.Count,
MaPlage.Columns.Count)
MaPlage.Copy Destination



"papou" <cestpasbon@çanonplus> a écrit dans le message de news:


Bonjour
Pour un filtre élaboré il te faut une zone de critère, donc par exemple
avec une feuille nommée "critere" et dans cette feuille un critère simple
défini sur une plage A1 à A2 :
MaPlage.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Sheets("Critere").Range("A1:A2"), Unique:úlse

Cordialement
Pascal


"RENAUD Eric" <erenaud(retirerceci)@fr.fm> a écrit dans le message de
news: OS$

Bonjour,

Je souhaiterais récupérer le résultat d'un filtre élaboré sur place (et
non
pas automatique) via VBA

Pour le filtre auto j'ai le code suivant :

Dim MaPlage As Range
' Représente les données filtrées et les titres.
Set MaPlage = Sheets("Feuil1").AutoFilter.Range
' Représente seulement les données
Set MaPlage = MaPlage.Offset(1, 0).Resize(MaPlage.Rows.Count - 1,
MaPlage.Columns.Count)

Je me suis dit en remplaçant AutoFilter par AdvancedFilter cela va aller
mais hélas non.
Existe t'il une solution ?
D'avance merci