Classe Filter - filtre (Excel VBA)

Cet objet représente un filtre d'une seule colonne. Pour utiliser une variable de classe Filter, elle doit d'abord être instanciée, par exemple


Dim flt as Filter
Set flt = ActiveSheet.AutoFilter.Filters(Index:=1)

For Each

Voici un exemple de traitement des éléments Filter dans une collection


Dim flt As Filter
For Each flt In ActiveSheet.AutoFilter.Filters
	
Next flt

Count

Renvoie le nombre d'objets dans la collection. En lecture seule longue.


Dim lngCount As Long
lngCount = ActiveSheet.AutoFilter.Filters(1).Count

Criteria1

Cette propriété renvoie la première valeur filtrée de la colonne spécifiée d'une plage filtrée. Type de données Variant en lecture seule.


Dim varCriteria1 As Variant
varCriteria1 = ActiveSheet.AutoFilter.Filters(1).Criteria1

Criteria2

Cette propriété renvoie la deuxième valeur filtrée de la colonne spécifiée d'une plage filtrée. Type de données Variant en lecture seule.

Si vous tentez d'accéder à la propriété Criteria2 pour un filtre n'utilisant pas deux critères, une erreur survient. Vérifiez que la propriété Operator de l'objet Filter n'est pas égale à zéro (0) avant d'essayer d'accéder à la propriété Criteria2 .

On

Cette propriété a la valeur True si le filtre spécifié est activé. Boolean (en lecture seule).


Dim booOn As Boolean
booOn = ActiveSheet.AutoFilter.Filters(1).On

Operator

Renvoie une valeur XlAutoFilterOperator qui représente l'opérateur qui associe les deux critères appliqués par le filtre spécifié. Ici on trouve valeurs possible pour XlAutoFilterOperator.


ActiveSheet.AutoFilter.Filters(1).Operator = xlAnd