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 :

Enlever le filtre d'une feuille avec VBA


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 80
    Points : 46
    Points
    46
    Par défaut Enlever le filtre d'une feuille avec VBA
    bonjour le forum,

    Peut qun m'indiquer comment faire pour enlever le filtre d'une page à partir de VBA?

    d'avance merci

  2. #2
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    Bonjour,

    un exemple pour enlever

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
        With Workbooks(Thisworkbook).Sheets("LaFeuille")
            If .AutoFilterMode Then
                .Cells.AutoFilter
            End If
        End With
    Et pour remettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
       With Workbooks(Thisworkbook).Sheets("LaFeuille")
            If not .AutoFilterMode Then
                .Cells.AutoFilter
            End If
        End With

  3. #3
    Membre éprouvé
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Points : 1 207
    Points
    1 207
    Par défaut Fusion suite au retrait du message d'Ouskel'n'or
    bonjour,
    un autre exemple, tiré de l'aide
    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    Sub SupprimerEtRemettreFiltre()
    'Dim TABFILTRE()
    'Application.StatusBar = "Stockage des critères de filtrage..."
    Set W = Worksheets("DONNÉES")
    With W.AutoFilter
        ZONEFILTRE = .Range.Address
        With .Filters
            ReDim TABFILTRE(1 To .Count, 1 To 3)
            For F = 1 To .Count
                With .Item(F)
                    If .On Then
                        TABFILTRE(F, 1) = .Criteria1
                        If .Operator Then
                            TABFILTRE(F, 2) = .Operator
                            TABFILTRE(F, 3) = .Criteria2
                        End If
                    End If
                End With
            Next
        End With
        For I = 1 To .Filters.Count
            If Not TABFILTRE(I, 1) = "" Then .Range.AutoFilter FIELD:=I
        Next
    End With
    Application.StatusBar = "Critères de filtrage stockés...Filtres enlevés..."
     
    '-------------------------------
    'Le code 
    '-------------------------------
     
    Application.StatusBar = "Rétablissement des filtres..."
    For Col = 1 To UBound(TABFILTRE(), 1)
        If Not IsEmpty(TABFILTRE(Col, 1)) Then
            If TABFILTRE(Col, 2) Then
                W.Range(CURRENFILTRANGE).AutoFilter FIELD:=Col, _
                    Criteria1:=TABFILTRE(Col, 1), Operator:=TABFILTRE(Col, 2), _
                    Criteria2:=TABFILTRE(Col, 3)
            Else
                W.Range(ZONEFILTRE).AutoFilter FIELD:=Col, _
                    Criteria1:=TABFILTRE(Col, 1)
            End If
        End If
    Next
    Application.StatusBar = "Critères de filtrage rétablis..."
    End Sub
    Cordialement


    code trouvé sous la rubrique Autofilter.

    L'avantage de ce code est qu'il replace les filtres comme ils étaient avant le déclenchement de la macro.
    @+
    PS je l'ai utilisé parce qu'un utilisateur râlait lorsque je lui enlevais ses filtres.

  4. #4
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    Salut Fred & Ousk,
    c'est toujours intéressant à connaître, même si la probabilité que j' ai besoin de cette technique n'est pas vraiment énorme.

    Bonne journée.

Discussions similaires

  1. Filtre d'une feuille vers Listbox avec Combobox
    Par yieiii dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 19/02/2010, 12h59
  2. Renommer une feuille avec VBA
    Par pol1958 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/12/2008, 10h05
  3. protection d'une feuille avec vba
    Par hkpsyco dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 18/10/2007, 14h14
  4. [VBA-E] Parcourir les checkbox d'une feuille avec une boucle
    Par tonton fred dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 31/05/2007, 13h47
  5. [VBA] Copie d'une feuille (avec graphique)
    Par ed_dexia dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 06/10/2005, 09h56

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