Macro pour activer ou désactiver le filtre automatique, Excel VBA

Dans Excel, vous pouvez filtrer les données, i. autrement dit, une liste filtrée n’affiche que les lignes qui correspondent aux critères que vous spécifiez pour une colonne. Dans le sens inverse, toutes les lignes qui ne répondent pas aux critères définis sont masquées lors du filtrage. Excel fournit deux commandes pour filtrer les listes, par exemple  Uniquement disponible: l’AutoFilter pour des critères simples avec l’option de filtrage selon la cellule sélectionnée, ainsi que les filtres spéciaux pour les tâches plus complexes. Lorsque vous filtrez des lignes, la liste n’est pas réorganisée; les lignes qui ne doivent pas être affichées ne sont que temporairement masquées.

Dans les pages suivantes, vous apprendrez comment définir un filtre dans VBA, le modifier ou le supprimer et quelles possibilités cela vous ouvre dans la pratique.

Les macros suivantes se trouvent sur le CD-ROM dans le répertoire KAP06 dans le fichier .

-Activer ou désactiver le filtre automatique

Vous pouvez activer l’AutoFilter sur votre table en sélectionnant la commande FILTER / AUTOFILTER dans le menu DATA. Excel affiche ensuite un filtre automatique pour chaque colonne de la zone utilisée. Au début, tous les filtres automatiques sont à l’état inactif, i. Cela signifie qu’aucun filtrage n’a encore été effectué, ce que vous pouvez également voir à partir de la flèche noire sur le filtre automatique. Les filtres automatiques pour lesquels des critères de filtre ont déjà été définis ont une flèche bleue. Dans la macro suivante, le filtre automatique s’affiche s’il n’est pas encore disponible.

Sub ActiveFiltreAutomatique ()

  Sheets ("Feuil1"). Activate

  If Not ActiveSheet.AutoFilterMode = True _

  Then Range ("A1"). AutoFilter

End Sub

 

La propriété AutoFilterMode renvoie la valeur True si les flèches déroulantes pour le filtre automatique sont actuellement visibles dans la feuille de calcul. Si cette propriété renvoie la valeur False, affichez le filtre automatique à l’aide de la méthode AutoFilter.

Si vous souhaitez à nouveau bannir les filtres de votre feuille de calcul, définissez cette propriété AutoFilterMode sur la valeur False.

Tabeau: AutoFiltre est activé

 

C’est souvent très clair lorsque vous ouvrez un classeur pour lequel le filtre automatique et un critère de filtre sont définis dans plusieurs colonnes. Afin d’afficher toutes les données, vous devez donc d’abord désactiver le filtre automatique. Pour ce faire, sélectionnez la commande FILTRE / FILTRE AUTOMATIQUE dans le menu DONNÉES. Il est cependant préférable que ce processus soit effectué automatiquement immédiatement après l’ouverture du classeur. Pour ce faire, basculez vers l’environnement de développement et double-cliquez sur l’entrée CE DOSSIER DE TRAVAIL dans l’Explorateur de projets. Capturez ensuite l’événement WorkbookOpen, que vous pouvez voir dans le Listing 6.74.

Private Sub Workbook_Open ()

  Remove all set filters

End Sub

 

Entrez maintenant la macro qui désactive le filtre automatique dans un module normal..

Sub SupprimerToutFiltreDefini ()

  Sheets ("Feuil1"). Activate

  ActiveSheet.AutoFilterMode = False

End Sub

 

Vous désactivez le filtre automatique en définissant la propriété AutoFilterMode sur la valeur False. Les flèches déroulantes du filtre automatique sont supprimées et tous les critères de filtre définis sont réinitialisés.

S’abonner
Notifier de
0 Commentaires
Inline Feedbacks
Voir tous les commentaires

Fonctions Excel

Macro VBA Utiles

Excel Pratique

Programmation VBA

Sur Facebook

Sur YouTube

0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x
()
x