Comment effacer les filtres dans Excel à l’aide de VBA (avec exemple)



Vous pouvez utiliser la syntaxe suivante dans VBA pour effacer tous les filtres d’une feuille Excel :

Sub ClearFilters()

If ActiveSheet.AutoFilterMode Then ActiveSheet.ShowAllData

End Sub

Cette macro particulière effacera tous les filtres de la feuille actuellement active.

Cette macro fonctionne en utilisant la méthode ShowAllData pour forcer toutes les lignes actuellement masquées à être visibles.

Si aucune ligne n’est actuellement filtrée sur la feuille active, rien ne se passera lorsque vous exécuterez cette macro.

L’exemple suivant montre comment utiliser cette macro dans la pratique.

Exemple : effacer tous les filtres dans Excel à l’aide de VBA

Supposons que nous ayons l’ensemble de données suivant dans Excel qui contient des informations sur divers joueurs de basket-ball :

Supposons maintenant que nous ajoutions un filtre pour afficher uniquement les lignes où la valeur dans la colonne Team est égale à Mavs ou Nets :

Supposons maintenant que nous souhaitions effacer ce filtre à l’aide de VBA.

Nous pouvons créer la macro suivante pour ce faire :

Sub ClearFilters()

If ActiveSheet.AutoFilterMode Then ActiveSheet.ShowAllData

End Sub

Lorsque nous exécutons cette macro, le filtre sera automatiquement effacé de la feuille :

Notez que toutes les lignes précédemment masquées sont désormais à nouveau visibles car nous avons effacé le filtre.

Remarque : Vous pouvez trouver la documentation complète de la méthode VBA ShowAllData ici .

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans VBA :

VBA : Comment filtrer les tableaux croisés dynamiques
VBA : comment actualiser les tableaux croisés dynamiques
VBA : comment supprimer les valeurs en double

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *