1. #1
    Membre régulier
    Inscrit en
    décembre 2007
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : décembre 2007
    Messages : 177
    Points : 91
    Points
    91

    Par défaut Autofilter exclure des valeurs dans un array

    Bonjour,

    alors comme le dit mon titre j'essaie d'utiliser la fonction autofilter mais je veux exclure des valeurs contenues dans un tableau (si vous voyez autre chose je suis preneur !) et bien sûr ces valeurs sont dynamiques : je ne sais pas ni ce qu'elles seront ni le nombre au final...un exemple de mon code qui ne marche pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Function exclureDonneeAvecFiltre() As Long
        Dim arr(2) As String
     
        'Alimente les éléments du tableau
        'et seront calculées dynamiquement
        arr(0) = "a"
        arr(1) = "b"
        arr(2) = "c"
      Range("A1").AutoFilter Field:=1, Criteria1:="<>" & arr, Operator:=xlFilterValues
    End Function
    Merci pour votre aide !!
    Sai

  2. #2
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    avril 2013
    Messages
    8 737
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2013
    Messages : 8 737
    Points : 17 385
    Points
    17 385

    Par défaut

    Bonjour,

    seulement deux critères possibles avec Excel 2003 et sans Array !
    Envisager plutôt de filtrer sur une colonne supplémentaire contenant une formule …

    ___________________________________________________________________________________________________________
    Je suis Paris, Egypte, Nigeria, New-York, Mogadicio, Barcelone, London, Manchester, Stockholm, Istanbul, Berlin, Nice, Bruxelles, Charlie, …
    . . . . . Comme la vitesse de la lumière est supérieure à celle du son, certains ont l'air brillant avant d'avoir l'air con !

  3. #3
    Expert éminent sénior
    Avatar de patricktoulon
    Profil pro
    Inscrit en
    avril 2009
    Messages
    10 670
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Secteur : Bâtiment

    Informations forums :
    Inscription : avril 2009
    Messages : 10 670
    Points : 16 991
    Points
    16 991
    Billets dans le blog
    1

    Par défaut re

    re
    ou !!! bien envisager un filtre avec un array mais filtrer le array
    en recuperer les addresses et inverser tout simplement le hidden sur les lignes visibles et invisible
    exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub test()
        With ActiveSheet.Range("$A$1:$A$16")
            .AutoFilter Field:=1, Criteria1:=Array("a", "b", "c"), Operator:=xlFilterValues
            Add = .SpecialCells(xlVisible).Address
            .AutoFilter
            .Cells.EntireRow.Hidden = True
        End With
        ActiveSheet.Range(Add).EntireRow.Hidden = False
    End Sub
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : résolu: ça peut servir aux autres
    et n'oublie pas de voter

  4. #4
    Membre régulier
    Inscrit en
    décembre 2007
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : décembre 2007
    Messages : 177
    Points : 91
    Points
    91

    Par défaut

    Bonjour ! merci pour vos aides !!
    Citation Envoyé par Marc-L Voir le message
    seulement deux critères possibles avec Excel 2003 et sans Array
    En fait je me suis trompé j'ai excel 2010 et non 2003 ça change la réponse ?

    Citation Envoyé par patricktoulon Voir le message
    ou !!! bien envisager un filtre avec un array mais filtrer le array
    en recuperer les addresses et inverser tout simplement le hidden sur les lignes visibles et invisible
    Je tente ça aussi et je reviens vers toi !

    Merci à tous les deux !!
    Sai

  5. #5
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    avril 2013
    Messages
    8 737
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2013
    Messages : 8 737
    Points : 17 385
    Points
    17 385

    Par défaut

    Citation Envoyé par saigon Voir le message
    En fait je me suis trompé j'ai excel 2010 et non 2003 ça change la réponse ?
    Ben oui …     Rien qu'en ouvrant ton aide VBA interne ou encore en activant l'Enregistreur de macro !
    . . . . . Comme la vitesse de la lumière est supérieure à celle du son, certains ont l'air brillant avant d'avoir l'air con !

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 05/09/2016, 16h38
  2. Tri des valeurs dans un DBGrid
    Par soviet dans le forum C++Builder
    Réponses: 3
    Dernier message: 11/06/2015, 15h18
  3. Exclure des valeurs d'une sélection dans une expression
    Par Seth_Nemesia111 dans le forum QlikView
    Réponses: 3
    Dernier message: 30/03/2015, 14h43
  4. Réponses: 2
    Dernier message: 28/03/2006, 12h45
  5. Décaler des valeurs dans un tableau
    Par sh2003 dans le forum Langage
    Réponses: 6
    Dernier message: 20/03/2004, 17h01

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