Filtre automatique VBA

En VBA, vous pouvez créer Filtre automatique afin de filtrer une plage de cellules ou un tableau Excel. Dans ce tutoriel, vous apprendrez à créer Filtre automatique pour une ou plusieurs colonnes et pour plusieurs conditions.

Si vous souhaitez apprendre à utiliser un filtre avancé en VBA, cliquez ici : Filtre avancé VBA

Création d'un filtre automatique en VBA

Tout d'abord, vous verrez comment créer simplement Filtre automatique dans une plage, afin qu'un utilisateur puisse filtrer les données. Les données que nous utiliserons dans les exemples se trouvent dans l'image 1 :

Image 1. Données pour les exemples de filtre automatique

Voici le code pour créer Filtre automatique:

1 Sheet1.Range("A1:E1").AutoFilter

Afin de permettre Filtre automatique, nous devons spécifier l'en-tête de la plage, dans notre cas A1:E1, et utiliser le Filtre automatique méthode de l'objet Varier. En conséquence, notre gamme de données a des filtres activés :

Image 2. AutoFilter activé pour les données

Filtre automatique avec paramètres de champ et de critères

VBA vous permet également de filtrer automatiquement un certain champ avec certaines valeurs.

Pour ce faire, vous devez utiliser des paramètres Champ et Critères1 de la méthode Filtre automatique. Dans cet exemple, nous voulons filtrer la troisième colonne (Produit) pour Produit A seul. Voici le code :

12 Sheet1.Range("A1:E1").Champ de filtre automatique :=3, _Critères1 : ="Produit A"

Dans le Champ paramètre, vous pouvez définir le numéro de la colonne dans la plage (pas dans Excel), tandis que dans Critères1 vous pouvez mettre la valeur que vous souhaitez filtrer. Après avoir exécuté le code, notre table ressemble à ceci :

Image 3. Filtre automatique avec champ et critères

Comme vous pouvez le voir, seules les lignes avec Produit A dans la troisième colonne sont affichés dans la plage de données.

Filtre automatique avec champs et valeurs de critères multiples

Si vous souhaitez filtrer un champ avec plusieurs valeurs, vous devez utiliser le paramètre Opérateur du Filtre automatique méthode. Pour filtrer plusieurs valeurs, vous devez définir Opérateur à xlFilterValues et aussi de mettre toutes les valeurs de Critères dans un tableau. Dans cet exemple, nous filtrons les Produit colonne pour Produit A et Produit B. Voici l'exemple de code :

123 Sheet1.Range("A1:E1").Champ de filtre automatique :=3, _Critères1 : = Tableau("Produit A", "Produit B"), _Opérateur :=xlFilterValues

Lorsque nous exécutons le code, nous obtenons uniquement des lignes avec le produit A et le produit B, comme vous pouvez le voir dans l'image 4 :

Image 4. Filtre automatique avec plusieurs valeurs de critères

Plage de données de filtre automatique avec plusieurs critères

Si vous souhaitez filtrer un champ avec plusieurs critères, vous devez utiliser Critères1 et Critères2 paramètres, mais aussi les Opérateur xlAnd.

Dans l'exemple suivant, nous allons filtrer la première colonne (Date) pour les dates en décembre 2022. Nous avons donc deux critères : une date supérieure au 01/12/18 et inférieure au 31/12/18. C'est le code :

1234 Sheet1.Range("A1:E1").Champ de filtre automatique :=1, _Critères1 :=">=12/01/2018", _Opérateur :=xlAnd, _Critères2 :="<=12/31/2018"

Lorsque nous exécutons le code, vous pouvez voir que seules les dates de décembre sont affichées dans la plage de données :

Image 5. Filtre automatique avec plusieurs critères pour le champ

Les valeurs des paramètres de l'opérateur de la méthode AutoFilter

Dans le tableau suivant. vous pouvez voir toutes les valeurs possibles du Opérateur paramètre de la méthode AutoFilter et leurs descriptions :

Opérateur La description
xlAnd Comprend plusieurs critères - Critères 1 et Critères 2
xlOu Comprend l'un des critères multiples - Critère 1 ou Critère 2
xlTop10Articles Filtre un certain nombre de valeurs les mieux classées (nombre spécifié dans Critères1)
xlBas10Éléments Filtre un certain nombre de valeurs les moins bien classées (nombre spécifié dans Critères1)
xlTop10Pourcent Filtre un certain pourcentage des valeurs les mieux classées (% spécifié dans Critères1)
xlBas10Pourcent Filtre un certain pourcentage des valeurs les moins bien classées (% spécifié dans Critères1)
xlFilterValues Inclut plusieurs valeurs de critères avec Array
xlCouleurCelluleFiltre Filtre les cellules pour les couleurs
xlFilterFontColor Filtre les cellules pour les couleurs de police
xlFilterIcon Icônes de filtres
xlFiltreDynamique Filtrer les valeurs dynamiques

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave