Classe Filter (Excel VBA)

Cet objet représente un filtre d'une seule colonne.

Set

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)

Les procédures suivantes peuvent être utilisés pour définir des variables de la classe Filter : Filters.Item et AutoFilter.Filters

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é.

Valeurs possibles sont xlAnd - AND logique de Criteria1 et Criteria2, xlBottom10Items - Éléments dont la valeur est la plus faible affichée (nombre d'éléments spécifiés dans Criteria1), xlBottom10Percent - Affichage des éléments dont la valeur est la plus faible (pourcentage indiqué dans Criteria1), xlFilterAutomaticFontColor, xlFilterCellColor - Couleur de la cellule, xlFilterDynamic - Filtre dynamique, xlFilterFontColor - Couleur de la police, xlFilterIcon - Icône de filtre, xlFilterNoFill, xlFilterNoIcon, xlFilterValues - Valeurs de filtre, xlOr - OR logique de Criteria1 ou Criteria2, xlTop10Items - Affichage des éléments présentant la valeur la plus élevée (nombre d'éléments spécifiés dans Criteria1), xlTop10Percent - Affichage des éléments présentant la valeur la plus élevée (pourcentage spécifié dans Criteria1).
ActiveSheet.AutoFilter.Filters(1).Operator = xlAnd

Parent

Renvoie l’objet parent pour l’objet spécifié. En lecture seule.

Filters.Count

Cette propriété renvoie une valeur de type Long qui représente le nombre d’objets de la collection.

Dim lngCount As Long
lngCount = ActiveSheet.AutoFilter.Filters.Count

Filters.Item

Cette méthode renvoie un seul objet d'une collection.

Syntaxe : expression.Item (Index)

Index: Numéro d'index de l'objet.

Dim fltItem As Filter
Set fltItem = ActiveSheet.AutoFilter.Filters(Index:=1)

Filters.Parent

Renvoie l’objet parent pour l’objet spécifié. En lecture seule.