Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Effacer filtres et classement

  • Initiateur de la discussion Initiateur de la discussion fablog
  • Date de début Date de début

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 !

fablog

XLDnaute Occasionnel
Bonjour,

J'ai un tableau Excel Tableau1, se trouvant dans ma feuille SMOT, que j'aimerais réinitialiser quand je le veux par une macro. Il faudrait effacer tous les filtres actifs et classer du plus petit au plus grand la colonne A. Avec l'enregistreur je n'ai pas eu de succès, pourriez-vous m'aider avec cela svp?

Merci et bonne journée!

Fabien
 
Re : Effacer filtres et classement

Bonjour.

J'ai un vélo dans mon garage, que j'aimerais préparer pour le prochain WE. Il faudrait vérifier la pression des pneus, et régler les freins.
pourriez-vous m'aider avec cela svp?

Merci et bonne journée!

Oups ! mon vélo ne passe pas en pj 🙁
Pourtant je suis allé en mode avancé, j'ai cliqué sur le trombone, et tout et tout ...
 
Re : Effacer filtres et classement

Re, fablog.

Ce que vous considérez comme du sarcasme n'est en fait qu'une tentative d'humour et, effectivement un encouragement à peine voilé à soumettre à la sagacité de la communauté une base de travail,.
Ceci pour lui éviter de reconstruire avec les imprécisions que cela implique un fichier (ou pour le moins un extrait de fichier, sans données confidentielles, mais cependant représentatif).
Les membres intéressés pourront ainsi tester au préalable les éventuelles propositions susceptibles de vous dépanner.
 
Re : Effacer filtres et classement

Bonjour.

En voici un autre, issu de l'enregistreur et élagué 🙂

VB:
Sub Macro1()


    Range("Tableau1[#All]").AutoFilter


    With ActiveWorkbook.Worksheets("Feuil1").ListObjects("Tableau1").Sort
        .SortFields.Clear
        .SortFields.Add Key:=Range("Tableau1[Classement]"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub
 
Re : Effacer filtres et classement

Merci Patrick, cela fonctionne bien mais un peut trop bien 🙂 Cela supprime aussi les filtres automatiques alors que je voudrais juste les effacer (réinitialiser).
 
Re : Effacer filtres et classement

Re,

Essayez avec .ShowAllData en lieu et place de AutoFilter, et dites-nous.

Et n'hésitez pas à utiliser l'enregistreur de macros. C'est comme ça -entre autres- qu'on apprend 🙂
 
Re : Effacer filtres et classement

Re,

Essayez avec .ShowAllData en lieu et place de AutoFilter, et dites-nous.

Et n'hésitez pas à utiliser l'enregistreur de macros. C'est comme ça -entre autres- qu'on apprend 🙂

Merci, j'ai ce message d'erreur: "Erreur d'exécution '438': Propriété ou méthode non gérée par cet objet" 🙁

La macro bloque dès le début.
 
Re : Effacer filtres et classement

Bonjour,

J'ai joué de nouveau avec l'enregistreur de Macro et, miracle, en sélectionnant la ligne des filtres au complet la macro fonctionne.

Voici la nouvelle macro:
Code:
    Sheets("SMOT").Select
    
    ActiveWorkbook.Worksheets("SMOT").ListObjects("Tableau1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("SMOT").ListObjects("Tableau1").Sort.SortFields.Add _
        Key:=Range("Tableau1[[#Headers],[#Data],[Ligne]]"), SortOn:=xlSortOnValues _
        , Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("SMOT").ListObjects("Tableau1").Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    
    Rows("1:1").Select
    ActiveWorkbook.Worksheets("SMOT").ListObjects("Tableau1").Sort.SortFields.Clear
    ActiveSheet.ShowAllData


End Sub

Par contre, quand mon tableau n'a qu'un classement d'une colonne et pas de filtre actif, il m'informe d'une erreur de la macro reliée à ActiveSheet.ShowAllData. Peut-on mettre une ligne VBA qui empeche l'affichage d'une erreur?

Merci!
 
Re : Effacer filtres et classement

Ci-dessous la réponse à ma question précédente:

Code:
    On Error Resume Next
    
    Sheets("SMOT").Select
     
     ActiveWorkbook.Worksheets("SMOT").ListObjects("Tableau1").Sort.SortFields.Clear
     ActiveWorkbook.Worksheets("SMOT").ListObjects("Tableau1").Sort.SortFields.Add _
         Key:=Range("Tableau1[[#Headers],[#Data],[Ligne]]"), SortOn:=xlSortOnValues _
         , Order:=xlAscending, DataOption:=xlSortNormal
     With ActiveWorkbook.Worksheets("SMOT").ListObjects("Tableau1").Sort
         .Header = xlYes
         .MatchCase = False
         .Orientation = xlTopToBottom
         .SortMethod = xlPinYin
         .Apply
     End With
     
     Rows("1:1").Select
     ActiveWorkbook.Worksheets("SMOT").ListObjects("Tableau1").Sort.SortFields.Clear
     ActiveSheet.ShowAllData


 End Sub
 
Re : Effacer filtres et classement

Bonjour à tous,
Salut Patrick,

L’utilisation de Données/Filtrer n'est pas nécessaire :

VB:
Sub Tri()
    Feuil1.Range("Tableau1").Sort key1:=Range("A1"), order1:=1, Header:=xlYes
End Sub

A+ à tous
 
- 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

E
Réponses
2
Affichages
754
E
B
  • Question Question
Réponses
10
Affichages
1 K
Batourouciss
B
B
Réponses
0
Affichages
1 K
bretzel
B
Y
  • Question Question
Réponses
10
Affichages
7 K
YasinGS
Y
A
Réponses
0
Affichages
2 K
AdrienDOR
A
R
Réponses
15
Affichages
5 K
razorlight
R
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…