XL 2013 macro suppression filtre excel

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

vadelacaisse

XLDnaute Junior
bonjour
plusieurs personnes utilisent le même fichier avec leur propre filtrage
souvent, le suivant est perdu à cause d'un filtre qui n'est pas le sien

je voudrais donc une macro qui supprime le filtrage quel qu’il soit avant d’enregistrer le fichier

j'ai commencé dans "classeur 1" (PJ) en enregistrant la macro minimale : ça marche

la macro enregistrée dans l'autre fichier (à droite, dans classeur 1) marche à l'enregistrement mais ne marche plus en la lançant ensuite...

le fichier est protégé par mp mais ça ne semble donc pas bloquer

j'ai repris 2/3 lignes d'une autre macro - mais ça ne doit pas gêner
cette macro avant fermeture est dans workbook, comme celle que j'ai pris en modèle et pas dans un module

question 1 : qu'ai-je fait de travers (les deux macros ne me semblent pas différentes) ?

question 2 : j'ai une trentaine de colonnes avec filtre potentiel
il y'a t'il un moyen de supprimer tous les filtres sans écrire 30 lignes de code comme les 5 déjà écrites ?

merci !
 

Pièces jointes

merci pour cette réponse hyper rapide - j'avais cherché avant de poster mais mal 🙁

j'ai essayé hier soir en modifiant la façon de faire
il me semble pas facile de supprimer le filtre avant d'enregistrer
j'ai donc "renommé" la commande BeforeClose en BeforeOpen sans savoir si ça existait...
le but étant d'enlever le filtrage dès l'ouverture du fichier
ça n'a pas l'air de buguer mais ça ne marche pas : le filtrage subsiste après ouverture

j'ai eu aussi l'erreur 1004 dan mon fichier - mais pas dans le fichier joint

merci !
 

Pièces jointes

bonjour et merci
la macro fonctionne si le fichier n'est pas protégé par mp
avec le mp, j'ai la même erreur 1004 (la méthode showalldata a échoué...)
je verrouille pourtant le fichier en autorisant le filtrage de toutes les colonnes avec filtre (de A à AG)- et on peut effectivement filtrer le fichier verrouillé
ne serait-ce pas parce que showalldata voudrait enlever le filtre des autres colonnes bien qu'elles ne comportent pas de filtre ?
la solution peut-elle être de "limiter" showalldata aux colonnes A à AG ?

merci
 
Bonjour @vadelacaisse , @dg62 , @cp4 , le Forum

En fait il faut tester avant le ShowAllData si il y a un AutoFilter, (sinon le On Error Resume Next)

A mettre où tu veux au choix dans Private Module de "ThisWorkBook" dans un des évènements :
  • Private Sub Workbook_BeforeClose(Cancel As Boolean)
  • Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
  • Private Sub Workbook_Open()
VB:
Option Explicit

Sub Filter_Removal_But_Keeping_The_AutoFilter()
Dim WS As Worksheet

Set WS = ThisWorkbook.Worksheets("Liste")

    If WS.AutoFilterMode = True Then
        If WS.FilterMode = True Then
            WS.ShowAllData
        End If
    End If
    
End Sub

Bien à toi, à vous
@+Thierry
 
bon- j'ai essayé plein de combinaisons improbables

le pb est que je ne maîtrise ni l'architecture, ni la syntaxe de VBA
donc "A mettre où tu veux au choix...", c'est du chinois pour moi 😕 désolé

actuellement j'ai ça, dans "This Workbook" - et ça ne marche évidemment pas :

Option Explicit
Private Sub Workbook_Open()

Sub Filter_Removal_But_Keeping_The_AutoFilter()
Dim WS As Worksheet

Set WS = ThisWorkbook.Worksheets("Liste")

If WS.AutoFilterMode = True Then
If WS.FilterMode = True Then
WS.ShowAllData
End If
End If


End Sub
 
Re Valdelacaisse, le Fil

J'ai mis dans ton classeur le code qu'il faut ...
Il n'est pas impératif d'avoir le code entier dans
Private Sub Workbook_Open()

On peut faire appel à une macro standard du module1... (qui fonctionne aussi avec le bouton, pour tester)

Il faut que tu aies une feuille nommée "Liste" aussi bien entendu !

@+Thierry
 

Pièces jointes

oine again - désolé
je comprends petit à petit
le code dans workbook renvoie vers l'autre code du module

j'ai recopié le cde de ton worbook dans celui de mon fichier
et celui de ton module 1 dans un module sue j'ai ajouté

cette fois ça plante là : WS.ShowAllData
et même dans ton fichier si je le verrouille (en autorisant le filtre)

de ce que je comprends, la macro explore toutes les colonnes et si le filtre est présent elle le supprime - mais ShowAllData s'applique peut-être à tout, pas à la seule colonne examinée ?

une piste - que je ne sais par traduire en code, of course :
limiter l'exploration aux colonnes A à AG (plus rapide) ou conserver toutes les colonnes de la feuille, comme maintenant
mais en supprimant le filtrage de la colonne examinée seulement
du genre "WS.ShowColumnData" - pardon pour cet anglicisme que j'ai essayé sans succès 🙂
 
En effet je n'ai pas testé sur Classeur, ou la Feuille en mode protection.

Pour le reste, ne t'inquiète pas pour "limiter l'exploration aux colonnes A à AG (plus rapide) " Le fait de faire un ShowAllData est en millième de seconde, ca ne pose pas de souci.

Non il reste à voir pourquoi quand le Classeur ou la Feuille sont vérouillés ca ne passe pas... Je ferai d'autres tests...

@+Thierry
 
Bonsoir @vadelacaisse , le Fil, le Forum

J'ai essayé différents trucs, pour just un "ShowAllData" j'aurai bien aimé ne pas avoir à déprotéger la Feuille par le code pour la reprotéger ensuite, mais je n'ai pas trouvé, même si les Users sont autorisés à utiliser l'AutoFilter (ca on peut le faire), VBA non !, et le UserInferfaceOnly ne peut pas être déclenché sans faire l'action de protection car il fait partie intégrante de Protect Method...

Donc J'ai remodelé le code du Module1...

Je te laisse découvrir et poser les questions que tu pourrais avoir...

Bien à toi, à vous
@+Thierry
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

T
  • Résolu(e)
Microsoft 365 pb effacement macro
Réponses
8
Affichages
481
Themax
T
Réponses
7
Affichages
343
  • Question Question
Microsoft 365 Excel - Macro
Réponses
14
Affichages
532
Réponses
10
Affichages
569
Réponses
6
Affichages
493
Réponses
11
Affichages
519
  • Question Question
Microsoft 365 Macro archivage
Réponses
9
Affichages
543
Retour