IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Tris via Autofilter en VBA


Sujet :

Macros et VBA Excel

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 855
    Par défaut Tris via Autofilter en VBA
    Bonjour,

    J'ai une ligne que je mets en Autofilter et, pour différentes raisons, je dois la mettre en hauteur 0 => donc elle est cachée.

    Par contre, j'aurai besoin de l'utiliser pour faire des filtres....

    Serait-il possible d'avoir, sous forme de USF ou autre, la sélection de filtres, par exemple :
    Nom : Sans titre2.png
Affichages : 134
Taille : 3,9 Ko

    En vous remerciant pour votre aide,

  2. #2
    Membre averti Avatar de Bric-a-brac
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Mars 2017
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Bidouilleur

    Informations forums :
    Inscription : Mars 2017
    Messages : 14
    Par défaut
    Bonjour,

    Si j’ai bien compris, c’est un tableau avec un filtre auto sur les entêtes de colonnes qui sont masquées.
    Pour faire simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Sub Afficher_Masquer_Filtres()
     
    ' Figer la ligne de filtres
    Rows("2:2").Select
    ActiveWindow.FreezePanes = True
     
    ' Si Afficher/Masquer et inversement
    Rows("1:1").Select
    If Selection.EntireRow.Hidden = True Then
        Selection.EntireRow.Hidden = False
    Else
        Selection.EntireRow.Hidden = True
    End If
     
    End Sub
    Ensuite tu attribues une touche de raccourci du style Ctrl-m (dans macro / option) et up up up

    Cordialement

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 855
    Par défaut
    Merci Bric-a-brac,

    L'idée est très séduisante

    Néanmoins, j'ai dû mal formuler ma demande : en ligne 1, j'ai mes entêtes, je mets un Autofilter, car je souhaite filtrer plusieurs données et l'autofilter est sympa car il permet de sélectionner plusieurs filtres.
    J'ai un code qui permet de trier, mais je cherche à filtrer, et comme ma ligne 1 est masquée, je souhaiterai qu'un USF ou autre apparaisse pour sélectionner les filtres. Ce USF ou autre serait inclus dans un code ou serait déclenché par un OptionButton et donc afficherai les filtres possibles...

    En te remerciant pour ton aide,

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 855
    Par défaut
    Bonjour,

    C'est bon, j'ai trouvé : il suffit de créer une listbox et de mettre en propriété Liststyle : Fmliststyleoption et on obtient les filtres possibles et ensuite on trie/filtre à partir des sélectionnés....

    merci les tutos de JB (j'ai trouvé la solution en étudiant les tutos sur les formulaires et en les adaptant....)

    A+ pour de prochaines aventures

  5. #5
    Membre extrêmement actif
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    1 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 1 369
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    Dim f
    Private Sub UserForm_Initialize()
      Set f = Sheets("bd")
      On Error Resume Next
      ActiveSheet.ShowAllData
      On Error GoTo 0
      Me.ListBox1.List = f.Range("A2:A" & f.[A65000].End(xlUp).Row).Value
      Me.ListBox1.MultiSelect = fmMultiSelectMulti
    End Sub
     
    Private Sub B_go_Click()
      Dim a()
      n = 0
      For i = 0 To Me.ListBox1.ListCount - 1
        If Me.ListBox1.Selected(i) Then
              n = n + 1: ReDim Preserve a(1 To n)
              a(n) = Me.ListBox1.List(i)
        End If
      Next i
      f.[a1].AutoFilter Field:=1, Criteria1:=a, Operator:=xlFilterValues
      Unload Me
    End Sub
    Boisgontier
    Fichiers attachés Fichiers attachés

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 855
    Par défaut
    Super Merci JB,

    Je te remercie pour ce code qui, une fois de plus, fonctionne parfaitement, et j'ai compris où se situait mon erreur....

    Merci,

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. tri et liaisons excel vba
    Par alsimbad dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/11/2006, 06h52
  2. sécurité via MDW et VBA
    Par acama dans le forum Sécurité
    Réponses: 16
    Dernier message: 17/02/2006, 22h01
  3. [Requête] Tri via une liste déroulante
    Par Burnout dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 09/01/2006, 19h16
  4. Envoi de mail via un macro vba sur excel
    Par momolamoto dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 30/12/2005, 19h51
  5. tri via xslt
    Par sohm dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 10/08/2005, 19h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo