Filtre automatique VBA - Comment utiliser les critères de filtre automatique VBA pour filtrer les données?

Table des matières

Filtre automatique Excel VBA

Le filtre automatique dans VBA est utilisé comme expression et sa syntaxe est la suivante Expression. Filtre automatique (champ, critère 1, opérateur, critère 2, liste déroulante) tous les arguments sont facultatifs. Le filtre est utile pour filtrer les données particulières des énormes données.

Supposons que vous soyez un utilisateur régulier, alors les filtres Excel ne sont pas une chose étrange pour vous. Certains des outils que nous utilisons dans la feuille de calcul sont également intégrés à VBA, et l'option de filtre automatique est l'un des outils importants disponibles dans VBA. Comme nous le savons tous, le filtre Excel est disponible sous l'onglet Données.

En utilisant cette option de filtre, nous pouvons jouer avec les données. Si vous avez affaire à une quantité minimale de données et si vous pensez que l'option de filtre automatique VBA n'est pas vraiment requise, vous pouvez continuer à utiliser l'option de filtre de feuille de calcul.

Si vous traitez une énorme quantité de données, vous pouvez utiliser une option de filtre automatique pour simplifier le flux de processus.

Syntaxe de la fonction de filtre automatique

Le filtre automatique dans Excel VBA peut être utilisé avec un objet de plage. Comme nos autres fonctions, celle-ci a également sa propre syntaxe.

  • Plage: La plage correspond simplement à la plage dans laquelle vous souhaitez appliquer le filtre.
  • Champ: Champ signifie à partir de quelle colonne de la plage vous avez sélectionné vous souhaitez filtrer les données. Une colonne sera comptée de gauche à droite.

Par exemple, si votre plage est comprise entre A1 et D100 et que vous souhaitez appliquer un filtre pour la colonne D, votre numéro de champ est 4 car, dans la plage sélectionnée, D est la quatrième colonne.

Critère 1: Dans le champ, vous avez sélectionné ce que vous souhaitez filtrer.

  • Opérateur: Si vous souhaitez appliquer plus d'un critère pour filtrer les données, nous devons utiliser des symboles d'opérateur. Certains des codes d'opérateur sont comme ci-dessous.

xlAnd, xlOr, xlBottom10Items, xlTop10Items, xlTop10Percent, xlBottom10Percent, xlFilterCellColor, xlFilterDynamic, xlFilterFontColor, xlFilterIcon, xlFilterValues.

Critère 2: Quelle est la deuxième chose que vous souhaitez filtrer avec le critère 1?

  • Visible Drop Down: Voulez-vous afficher l'icône du filtre fop down dans la colonne filtrée. Si vous souhaitez afficher TRUE, l'argument, sinon FALSE, l'argument.

Comment appliquer un filtre à l'aide du filtre automatique VBA? (avec exemple)

Supposons ci-dessous les données sur lesquelles vous travaillez.

Maintenant, en utilisant le code VBA, nous allons appliquer le filtre. Suivez les étapes ci-dessous pour appliquer le filtre.

Étape 1: Démarrez la sous-procédure en donnant un nom à la macro.

Code:

Sub AutoFilter_Example1 () End Sub

Étape 2: La première chose est de savoir dans quelle plage nous devons appliquer le filtre. Dans ce cas, nous devons appliquer la plage de la plage A1 à E25.

Code:

Sub AutoFilter_Example1 () Range ("A1: E25") End Sub

Étape 3: Une fois la plage sélectionnée, appliquez maintenant l'option de filtre automatique.

Code:

Sub AutoFilter_Example1 () Range ("A1: E25"). AutoFilter End Sub

Nous ne sélectionnons aucune valeur à l'aide d'un filtre automatique. Au contraire, nous appliquons simplement le filtre à ce stade.

Exécutez le code à l'aide de la touche F5, ou manuellement, il insérera un filtre pour la plage sélectionnée.

Il a donc appliqué un filtre aux données. Nous allons maintenant voir comment filtrer les données.

Exemple # 1 - Filtrer les données à l'aide du filtre automatique

Considérez les mêmes données de l'exemple ci-dessus. Maintenant, nous devons filtrer le département «Finances» de la colonne Département.

Étape 1: Une fois le filtre appliqué, le premier argument est de mentionner à partir de quelle colonne nous filtrons les données. Dans ce cas, nous devons filtrer les données de la colonne Département, donc le numéro de colonne est 5.

Code:

Sub AutoFilter_Example1 () Range ("A1: E25"). Champ AutoFilter: = 5, End Sub

Step 2: Criteria 1 is nothing but what we want to filter from the 5th column. So we need to filter out “Finance.”

Code:

Sub AutoFilter_Example1() Range("A1:E25").AutoFilter Field:=5, Criteria1:="Finance" End Sub

So that’s all, run this code manually, or through the F5 key, it will filter out only “Finance” from the list.

Example #2 - Operator in AutoFilter

We have seen how to filter the single value. Now we will see how to filter multiple elements. Assume along with “Finance” you want to filter the “Sales” department as well, so we can do this by using Operators.

Step 1: After applying the first criteria in the next argument, select the operator as “xlOr.”

Code:

Sub AutoFilter_Example2() Range("A1:E25").AutoFilter Field:=5, Criteria1:="Finance", Operator:=xlOr End Sub

Step 2: Now, in Criteria 2, mention the value as “Sales.”

Code:

Sub AutoFilter_Example2() Range("A1:E25").AutoFilter Field:=5, Criteria1:="Finance", Operator:=xlOr, Criteria2:="Sales" End Sub

Step 3: Ok, done run this code using the F5 key or manually, it will filter out both “Finance” & “Sales.”

In the Operator argument, I have used “xlOr” this will select both “Finance” & “Sales” under the filter.

Example #3 - Filter Numbers using AutoFilter

Using the Operator symbol “XlAnd,” we can filter out numbers as well. Assume from the Overtime column you want to filter out all the values which are>1000 but <3000.

Step 1: The first thing is changing the Field from 5 to 4.

Code:

Sub AutoFilter_Example3() Range("A1:E25").AutoFilter Field:=4 End Sub

Step 2: Criteria 1 is>1000.

Code:

Sub AutoFilter_Example3() Range("A1:E25").AutoFilter Field:=4,Criteria1:=">1000", End Sub

Step 3: Here, we need to match both the criteria, so use “xlAnd” as the operator.

Code:

Sub AutoFilter_Example3() Range("A1:E25").AutoFilter Field:=4, Criteria1:=">1000", Operator:=xlAnd, End Sub

Step 4: Criteria 2 will <3000.

Code:

Sub AutoFilter_Example3() Range("A1:E25").AutoFilter Field:=4, Criteria1:=">1000", Operator:=xlAnd, Criteria2:="<3000" End Sub

Now, if you run this code manually or through the F5 key, it will filter out all the values from the Overtime column, which are>1000 but <3000.

Example #4 - Filter from Different Columns using AutoFilter

In order to filter out data from different columns, we need to use a different process. Assume you want to filter out the “Finance” department and also you want to filter out Salary numbers, which are>25000 but <40000.

You can use the below code does that.

Code:

Sub AutoFilter_Example4 () With Range ("A1: E25") .AutoFilter Field: = 5, Criteria1: = "Finance" .AutoFilter Field: = 2, Criteria1: = "> 25000", Operator: = xlAnd, Criteria2: = " <40000 "End With End Sub

Cela filtrera deux colonnes.

Exécutez ce code à l'aide de la touche F5 ou vous pouvez l'exécuter manuellement.

Choses dont il faut se rappeler

  • Essayez différentes combinaisons sous Opérateur pour obtenir la connaissance du filtre automatique VBA.
  • Si vous ne savez pas quoi insérer, essayez d'utiliser l'enregistreur de macros.
  • Si vous souhaitez filtrer les valeurs de texte, vous devez les fournir entre guillemets.
  • Utilisez l'instruction WITH pour appliquer plusieurs filtres de colonne.

Articles intéressants...