OVH Cloud OVH Cloud

AutoFilter

2 réponses
Avatar
leti
Bonjour tous,

Comment puis-je faire pour acc=E9der aux r=E9sultats d'un=20
filtre en VBA ??
Et encore, comment j'active le "calcul" d'un filtre en=20
vba ??
je fait : objWBook.ActiveSheet.Range("A3:M3").AutoFilter=20
Field:=3D1, Criteria1:=3D"=3D *Zone*", Operator:=3DxlAnd
et RIEN ne se passe dans la feuille Excel !!!

J'ai un bout de code qui permet de faire une copie:
Sheets("Feuil1").AutoFilter.Range.Copy

sauf que chez moi ca marche pas, et AutoFilter n'est pas=20
un objet donc je ne vois pas le rapport !!

Merci de votre aide,
Leti

2 réponses

Avatar
michdenis
Bonjour Leti,

objWBook.ActiveSheet.Range("A3:M3").AutoFilter
Ta zone de filtre automatique est défini à une seule ligne , ce serait difficile de trouver beaucoup d'enregistrements avec
une seule ligne !!!

Si dans ta plage de cellules tu n'as pas de ligne entièrement vide,

Utilise ceci : en remplaçant le "NomDeLaFeuille" par le vrai nom de la feuille de ton application.


with worksheets("NomDeLaFeuille").Range("A3:M3").currentregion
.AutoFilter Field:=1, Criteria1:="=*ZONE*"
end with

Pour ce qui est de la copie, il faudrait que tu sois plus précis
sur ce que tu veux copier et où.


Salutations!



"leti" a écrit dans le message de news:081301c34189$b2939fd0$
Bonjour tous,

Comment puis-je faire pour accéder aux résultats d'un
filtre en VBA ??
Et encore, comment j'active le "calcul" d'un filtre en
vba ??
je fait : objWBook.ActiveSheet.Range("A3:M3").AutoFilter
Field:=1, Criteria1:="= *Zone*", Operator:=xlAnd
et RIEN ne se passe dans la feuille Excel !!!

J'ai un bout de code qui permet de faire une copie:
Sheets("Feuil1").AutoFilter.Range.Copy

sauf que chez moi ca marche pas, et AutoFilter n'est pas
un objet donc je ne vois pas le rapport !!

Merci de votre aide,
Leti
Avatar
Hervé
Salut Leti,
Le filtre marche sur des lignes comme une base de données. Entre des valeurs
dans les cellules de A1 à E30 avec des entêtes de colonnes en mettant le mot
"Zone" dans quelques cellules de la colonne A. Exécute la proc ci dessous
et regarde le résultat dans la feuille 2 :

Sub Filtre()
With Worksheets("Feuil1")
.[A1:E30].AutoFilter 1, "*Zone*"
.AutoFilter.Range.Copy Worksheets("Feuil2").[A1]
.AutoFilterMode = False
End With
End Sub

Hervé.

"leti" a écrit dans le message news:
081301c34189$b2939fd0$
Bonjour tous,

Comment puis-je faire pour accéder aux résultats d'un
filtre en VBA ??
Et encore, comment j'active le "calcul" d'un filtre en
vba ??
je fait : objWBook.ActiveSheet.Range("A3:M3").AutoFilter
Field:=1, Criteria1:="= *Zone*", Operator:=xlAnd
et RIEN ne se passe dans la feuille Excel !!!

J'ai un bout de code qui permet de faire une copie:
Sheets("Feuil1").AutoFilter.Range.Copy

sauf que chez moi ca marche pas, et AutoFilter n'est pas
un objet donc je ne vois pas le rapport !!

Merci de votre aide,
Leti