Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

macro filtre automatique à remettre à Tous

5 réponses
Avatar
meb2604
Bonjour,

Je voudrais une macro qui remettrait les crit=E8res de tous les filtres aut=
omatiques du classeur =E0 "Tous"

J'ai essay=E9 avec "ActiveSheet.ShowAllData" mais elle =E9choue si les fil=
tres sont d=E9j=E0 =E0 "Tous" dans la feuille.

En fait je voudrais dire =E0 Excel, si un filtre n'est pas =E0 "Tous" quelq=
ues parts dans le fichier, va le remettre =E0 "Tous".

Pouvez-vous me venir en aide ? Merci ! Merci ! et encore Merci !

5 réponses

Avatar
DanielCo
Bonjour,

ActiveSheet.AutoFilter

Cordialement.
Daniel


Bonjour,

Je voudrais une macro qui remettrait les critères de tous les filtres
automatiques du classeur à "Tous"

J'ai essayé avec "ActiveSheet.ShowAllData" mais elle échoue si les filtres
sont déjà à "Tous" dans la feuille.

En fait je voudrais dire à Excel, si un filtre n'est pas à "Tous" quelques
parts dans le fichier, va le remettre à "Tous".

Pouvez-vous me venir en aide ? Merci ! Merci ! et encore Merci !
Avatar
MichD
Bonjour,


Essaie ceci :

2 commandes possibles selon ce que tu désires faire!

'-------------------------------------------
Sub test()
Dim Sh As Worksheet
For Each Sh In Worksheets
If Sh.AutoFilterMode = True Then
'Cette commande affiche toutes les
'données mais maintient les boutons
'du filtre automatique visible
'Sh.ShowAllData 'enlève l'apostrophe pour l'activer
'OU
'Cette commande annule tout le filtre
'et supprimer les boutons du filtre
Sh.Range("_FilterDataBase").AutoFilter
End If
Next
End Sub
'-------------------------------------------



MichD
---------------------------------------------------------------
Avatar
MichD
Ce serait plus simple en séparant les actions :

A ) Si tu veux faire disparaître les filtres et les boutons
du filtre automatique, utilise ceci:
'-------------------------------------------------
Sub test()
Dim Sh As Worksheet
For Each Sh In Worksheets
If Sh.AutoFilterMode = True Then
Sh.Range("_FilterDataBase").AutoFilter
End If
Next
End Sub
'-------------------------------------------------

B ) Si tu veux, simplement annuler le filtre, mais en conservant
les boutons du filtre automatique, utilise cela :
'-------------------------------------------------
Sub test1()
Dim Sh As Worksheet
For Each Sh In Worksheets
If Sh.FilterMode = True Then
Sh.ShowAllData
Sh.Range("_FilterDataBase").AutoFilter
End If
Next
End Sub
'-------------------------------------------------


Dans le message précédent, si tu utilises la ligne de code
sh.showAllData , tu dois ajouter en début procédure
On Error Resume next


MichD
---------------------------------------------------------------
Avatar
LSteph
Bonsoir,

'...
On error resume next
ActiveSheet.ShowAllData
On error goto 0
'...

'LSteph
a écrit dans le message de
news:
Bonjour,

Je voudrais une macro qui remettrait les critères de tous les filtres
automatiques du classeur à "Tous"

J'ai essayé avec "ActiveSheet.ShowAllData" mais elle échoue si les filtres
sont déjà à "Tous" dans la feuille.

En fait je voudrais dire à Excel, si un filtre n'est pas à "Tous" quelques
parts dans le fichier, va le remettre à "Tous".

Pouvez-vous me venir en aide ? Merci ! Merci ! et encore Merci !
Avatar
meb2604
Merci à vous tous,

J'ai finalement utilisé ce que LSteph m'a proposé.

Merci !!