Autofiltre

Résolu
Villette54 Messages postés 300 Date d'inscription   Statut Membre Dernière intervention   -  
Villette54 Messages postés 300 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je suis novice et VBA et j'aimerais implanter une macro afin de gagner un peu de temps.

Enfaîte j'ai des infos dans ma colonnes A qui sont rentrées de façon aléatoire.
J'aimerais que lorsque je clique sur un bouton (que j'ai créé) ma macro s'active et :

1. Mette en place un filtre sur la case A6
2. Tri la colonne de A --> Z (de la ligne 7 à 43)
3. Supprime le filtre mis en place à l'étape 1

Merci d'avance.

2 réponses

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    Pas besoin de filtre, un simple tri ira tres bien:

    fait avec l'enregistreur de macro

    Sub Macro1()
    '
    ' Macro1 Macro
    '
    
    '
        Range("A7:A43").Select
        ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Clear
        ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range("A6"), _
            SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        With ActiveWorkbook.Worksheets("Feuil1").Sort
            .SetRange Range("A7:A43")
            .Header = xlNo
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
    End Sub


    Bonne suite
    0
    1. Villette54 Messages postés 300 Date d'inscription   Statut Membre Dernière intervention   28
       
      Bonjour,

      Déjà merci pour ton aide,

      Effectivement je n'avais pas pensé à l'enregistreur de macro.

      Cela fonctionne pour le tri en revanche, cela ne "rétabli" pas comme à l'origine après le filtre.

      J'explique : Je souhaite que le tri s'applique (puis ma macro exporte le fichier en PDF avec la ligne triées par ordre alphabétique) et une fois que le fichier à été exporté j'aimerais que le tri s'annule (l'enregistreur ne prend pas en compte Ctrl+Z). Il faut que cela s'annule pour des correspondances de formule.

      Merci d'avance
      0
    2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Bonjour,

      Sauf erreur de ma part, un filtre ne fait pas de tri par ordre alphabetique!!!!
      0
    3. Villette54 Messages postés 300 Date d'inscription   Statut Membre Dernière intervention   28
       
      Je me suis mal exprimé, oubli le filtre

      La seule chose dont j'ai besoin c'est d'une macro capable de m'appliquer un tri A --> Z, (effectuer d'autres actions mais cette partie est OK) et après d'annuler le tri.
      0
  2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,

    Sub Macro1()
    '
    ' Macro1 Macro
    '
        Dim table
        
        'mise en memoire des valeurs d'origines
        table = Worksheets("Feuil1").Range("A7:A43")
        
        'code tri
        Range("A7:A43").Select
        ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Clear
        ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range("A6"), _
            SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        With ActiveWorkbook.Worksheets("Feuil1").Sort
            .SetRange Range("A7:A43")
            .Header = xlNo
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
        
        'Reecriture cellules d'origines
        Worksheets("Feuil1").Range("A7") = Application.Transpose(table)
        
    End Sub


    A+
    0
    1. Villette54 Messages postés 300 Date d'inscription   Statut Membre Dernière intervention   28
       
      Re,

      A première vue ça semble correspondre.
      Je ne peux pas l'essayer aujourd'hui, je te tiens au courant dès demain matin

      En attendant merci, et bonne fin de journée.
      0
    2. Villette54 Messages postés 300 Date d'inscription   Statut Membre Dernière intervention   28
       
      Bonjour,

      Désolé de ne répondre que maintenant.

      Cette solution ne s'avère pas être la plus efficace je crains (une fois la macro activée, mes formules ne fonctionnent plus) je vais chercher une solution alternative.

      En tout cas, je te remercie pour ton implication.

      Bonne journée
      0