Désactiver le filtre automatique à partir du code - Exemples de code VBA

Ce didacticiel montrera comment désactiver/effacer les filtres automatiques dans VBA.

Les filtres automatiques peuvent être activés ou désactivés à l'aide du code VBA.

Désactiver le filtre automatique dans la feuille de calcul active dans VBA

L'exemple de code suivant désactive le filtre automatique dans la feuille active, en vérifiant d'abord qu'il n'est pas déjà désactivé.

12345 Sous-marin public KillFilter()Si ActiveSheet.AutoFilterMode AlorsActiveSheet.AutoFilterMode = FauxFin siFin du sous-marin

Activer le filtre automatique dans la feuille de calcul active en VBA

L'exemple de code suivant active le filtre automatique dans la feuille active, en vérifiant d'abord qu'il n'est pas déjà activé.

12345 Sous-filtre public de démarrage()Si pas ActiveSheet.AutoFilterMode AlorsActiveSheet.Range("A1").AutoFilterFin siFin du sous-marin

Désactivez le filtre automatique dans toutes les feuilles de calcul en VBA.

L'exemple de code suivant parcourt chaque feuille du classeur entier et désactive le filtre automatique dans chaque feuille de calcul, en vérifiant d'abord que le filtre du classeur actuel n'est pas déjà activé.

12345678 Public Sub StopAllFilters()Dim ws As Feuille de calculPour chaque ws dans ActiveWorkbook.WorksheetsSi ws.AutoFilterMode = True Alorsws.AutoFilterMode = FauxFin siWS suivantFin du sous-marin

Désactivez le filtre automatique dans toutes les feuilles de calcul en VBA.

De même, l'exemple de code suivant parcourt tout le classeur et active le filtre automatique dans chaque feuille, en vérifiant d'abord que le filtre du classeur actuel n'est pas déjà activé.

12345678 Sous-public StartAllFilters()Dim ws As Feuille de calculPour chaque ws dans ActiveWorkbook.WorksheetsSinon ws.AutoFilterMode Alorsws.Range("A1").AutoFilterFin siWS suivantFin du sous-marin

Effacer tous les filtres de la feuille de calcul active dans VBA

L'exemple de code suivant laisse le filtre automatique activé dans la feuille active, mais efface tout filtre appliqué aux données.

12345 Sous-filtre public ClearFilter()Si ActiveSheet.FilterMode = True AlorsActiveSheet.ShowAllDataFin siFin du sous-marin

Effacer tous les filtres dans toutes les feuilles de calcul en VBA

De même, l'exemple de code suivant parcourt tout le classeur et laisse le filtre automatique activé dans chaque feuille s'il est déjà activé, mais efface tout filtre appliqué aux données.

12345678 Sous-public ClearAllFilters()Dim ws As Feuille de calculPour chaque ws dans ActiveWorkbook.WorksheetsSi ws.FilterMode = True Alorsws.ShowAllDataFin siWS suivantFin du sous-marin

Effacer tous les filtres d'une table en VBA

Si notre feuille de calcul contient un objet table, nous pouvons ajuster le code pour effacer tout filtre appliqué à ce filtre, tout en laissant le filtre automatique activé.

123456789 Sous ClearFilterFromTable()Dim ws As Feuille de calculDim sTable en tant que chaîneDim loTable As ListObjectsTable = "Table1"Définir ws = ActiveSheetDéfinir loTable = ws.ListObjects(sTable)loTable.AutoFilter.ShowAllDataFin du sous-marin

Si l'objet tableau est lié à un tableau croisé dynamique, le tableau croisé dynamique sera actualisé en conséquence.

wave wave wave wave wave