Filtre automatique avec plusieurs critères dans VBA
Nous allons vous présenter comment utiliser AutoFilter pour filtrer une plage de cellules ou un tableau Excel en VBA.
Filtre automatique avec plusieurs critères dans VBA
Il existe de nombreuses situations dans lesquelles nous devons utiliser des filtres dans Excel lorsque nous travaillons sur un code VBA. Si nous voulons obtenir les données de vente pour une date spécifique, nous devons utiliser un filtre de date sur une colonne de date dans VBA.
VBA apporte une solution à ce problème en utilisant un AutoFilter.
Nous commencerons par comprendre comment utiliser le filtre automatique dans une plage afin qu’un utilisateur puisse filtrer les données. Prenons quelques données, pour commencer, comme indiqué ci-dessous.

Comme indiqué ci-dessous, nous allons utiliser la méthode Range de la feuille pour sélectionner la plage sur laquelle nous voulons appliquer un AutoFilter.
# VBA
Sub test()
Sheet1.Range("A1:C1").AutoFilter
End Sub
Production:

Nous devons désigner l’en-tête de la plage, qui dans notre cas est A1:C1, et utiliser la technique AutoFilter de la plage d’objets pour appliquer le filtre automatique. Cela se traduira par l’activation de filtres pour notre gamme, comme indiqué ci-dessus.
Filtre automatique avec champ et critères dans VBA
VBA nous permet également de filtrer des champs spécifiques avec des valeurs particulières. Pour ce faire, nous devons définir le champ auquel nous voulons appliquer le filtre.
Nous définirons également les critères en fonction desquels nous souhaitons appliquer un filtre. Si nous souhaitons filtrer la deuxième colonne pour Laptop uniquement, nous pouvons exécuter le code comme indiqué ci-dessous.
# VBA
Sub test()
Sheet1.Range("A1:C1").AutoFilter Field:=2, Criteria1:="Laptop"
End Sub
Production:

Comme nous pouvons le voir sur l’exemple ci-dessus, nous avons pu utiliser le Filtre automatique avec les valeurs souhaitées en définissant les valeurs du champ et des critères. Le résultat est affiché ci-dessus avec le filtre utilisant les critères que nous avons fournis dans notre code VBA.
Filtre automatique avec plusieurs critères dans VBA
Supposons que nous voulions définir plusieurs critères pour notre filtre. Dans ce cas, nous pouvons le faire en utilisant un autre opérateur de paramètre dans AutoFilter lorsque nous devons filtrer un champ avec plusieurs valeurs.
Nous pouvons utiliser l’opérateur xlFilterValues et transmettre les valeurs au paramètre Criteria dans un tableau pour filtrer en fonction de ces valeurs, comme indiqué ci-dessous.
# VBA
Sub test()
Sheet1.Range("A1:C1").AutoFilter Field:=2, Criteria1:=Array("Laptop", "iPhone"), _
Operator:=xlFilterValues
End Sub
Production:

Comme nous pouvons le voir dans l’exemple ci-dessus, lorsque nous exécutons le code, le Filtre automatique est activé avec plusieurs valeurs et affiche les résultats souhaités.
Plage de dates de filtrage automatique avec plusieurs critères dans VBA
Si nous voulons utiliser AutoFilter basé sur la plage de dates, ou si nous allons obtenir les données entre une plage de dates spécifique, nous devons utiliser plusieurs paramètres Criteria avec un opérateur xlAnd.
Passons en revue un exemple et ajoutons plus de données à notre feuille d’échantillons avec les dates ci-dessous.

Comme vous pouvez le voir à partir des données ci-dessus, nous avons ajouté une nouvelle colonne avec des dates. Comme indiqué ci-dessous, nous utiliserons ces dates pour filtrer les données entre le 20 et le 25 mai.
#VBA
Sub test()
Sheet1.Range("A1:D1").AutoFilter Field:=1, Criteria1:=">=05/20/2022", Operator:=xlAnd, Criteria2:="<=05/25/2022", Operator:=xlFilterValues
End Sub
Production:

Comme nous pouvons le voir dans l’exemple ci-dessus, nous pouvons facilement filtrer les données dans la plage de dates en fournissant deux critères de dates et en utilisant le paramètre Operator avec la valeur xlAnd.
Quelques paramètres Opérateur et leur description sont décrits ci-dessous.
- L’opérateur
xlAndpeut filtrer avec plusieurs critères tels queCriteria1etCriteria2. - L’opérateur
xlOrpeut filtrer avec l’un ou l’autre critère. - L’opérateur
xlTop10Itemsnous aidera à filtrer le nombre particulier de valeurs les mieux classées à partir des critères. - L’opérateur
xlBottom10Itemsnous aidera à filtrer le nombre particulier de valeurs les moins bien classées à partir des critères. - L’opérateur
xlTop10Percentnous aidera à filtrer le pourcentage particulier des valeurs les mieux classées à partir des critères. - L’opérateur
xlBottom10Percentnous aidera à filtrer le pourcentage particulier des valeurs les moins bien classées à partir des critères. - L’opérateur
xlFilterValuesva nous aider à filtrer les critères à plusieurs valeurs. - L’opérateur
xlFilterCellColorva nous aider à filtrer les critères en fonction des couleurs des cellules. - L’opérateur
xlFilterFontColorva nous aider à filtrer les critères en fonction des couleurs de police. - L’opérateur
xlFIlterIconva nous aider à filtrer les critères en fonction des icônes de police. - L’opérateur
xlFilterDynamicva nous aider à filtrer les valeurs dynamiques.