Macro Excel 2013 VBA Effacer tous les filtres

Il semble que les anciennes macros ne fonctionnent pas. Je dispose d'un système de sécurité approprié pour exécuter les macros VBA, mais lorsque j'ai essayé plusieurs méthodes pour effacer TOUS les filtres d'une feuille de calcul, j'ai obtenu une erreur de compilation.

Voici ce que j'ai essayé :


Sub AutoFilter_Remove()
'Cette macro supprime tout filtrage afin d'afficher toutes les données, mais elle ne supprime pas les flèches de filtrage.
ActiveSheet.ShowAllData
End Sub

J'ai des boutons sur les feuilles pour effacer tous les filtres afin de faciliter l'utilisation pour les utilisateurs puisque les feuilles ont beaucoup de colonnes qui ont des filtres sur eux.

Essayez ça :

If ActiveSheet.AutoFilterMode Then ActiveSheet.ShowAllData
Commentaires (3)
Solution

Si la feuille a déjà un filtre sur elle alors :

Sub Macro1()
    Cells.AutoFilter
End Sub

le supprimera.

Commentaires (1)

Essayez quelque chose comme ça :

Sub ClearDataFilters()
'Clears filters on the activesheet. Will not clear filters if the sheet is protected.
On Error GoTo Protection
If ActiveWorkbook.ActiveSheet.FilterMode Or _
   ActiveWorkbook.ActiveSheet.AutoFilterMode Then _
   ActiveWorkbook.ActiveSheet.ShowAllData

Exit Sub
Protection:
If Err.Number = 1004 And Err.Description = _ 
    "ShowAllData method of Worksheet class failed" Then
    MsgBox "Unable to Clear Filters. This could be due to protection on the sheet.", _
    vbInformation
End If

End Sub

.FilterMode renvoie true si la feuille de calcul est en mode filtre. ([Voir ceci][1] pour plus d'informations). ([Voir ceci][2] pour plus d'informations sur .AutoFilter.
Et enfin, [this][3] fournira plus d'informations sur la méthode .ShowAllData.

[1] : http://msdn.microsoft.com/en-us/library/office/ff839763.aspx [2] : http://msdn.microsoft.com/en-us/library/office/ff193884.aspx [3] : http://msdn.microsoft.com/en-us/library/office/ff197246.aspx

Commentaires (0)