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 :

utilisation de AUTOFILTER


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Inscrit en
    Octobre 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 7
    Par défaut utilisation de AUTOFILTER
    Bonjour,

    Je souhaite utiliser la fonction AUTOFILTER pour faire des filtres multiples dans une feuille excel contenant des données dans 120 colonnes différents

    La valeur du critère est contenue dans une variable.

    Si j'ecris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AutoFilter field:=72, Criteria1:=">250", Criteria2:="<260"
    cela fonctionne
    Si j'écris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AutoFilter field:=72, Criteria1:=">" & CStr(DiamInf), Operator:=xlAnd, Criteria2:="<" & CStr(DiamSup)
    cela ne fonctionne pas.

    Pouvez-vous m'aider?
    Merci d'avance


    Voici le code que j'ai écrit: il faut savoir que le filtre avec le listbox1 fonctionne et celui avec les variables DiamSup et DiamInf ne fonctionne pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    With Classeur_Source.Worksheets("DIPO")
        Set PLaGe = .Range(.Cells(5, 1), Cells(5, 1).End(xlDown)).Resize(, 120)
    End With
    With PLaGe
        .AutoFilter
        If (ListBox1.ListIndex <> -1) Then
            .AutoFilter field:=120, Criteria1:="=" & ListBox1.Value, visibledropdown:=True
        End If
        If DiamSup <> 0 Then
           .AutoFilter field:=72, Criteria1:=">" & CStr(DiamInf), Operator:=xlAnd, Criteria2:="<" & CStr(DiamSup), visibledropdown:=True
           '.AutoFilter field:=72, Criteria1:=">250", Criteria2:="<260", visibledropdown:=True
        End If
    End With
    Eric

  2. #2
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonjour.

    Je n'ai pas vu le type de DiamInf et DiamSup, mais tu pourrais essayer en enlevant les Cstr.

    PGZ

  3. #3
    Membre régulier
    Inscrit en
    Octobre 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 7
    Par défaut
    Bonjour PGZ,

    les 2 variables sont de type SINGLE.
    meme problème en enlevant les CSTR.

    Avez-vous une autre suggestion?

    Eric

  4. #4
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    bonjour,

    et en passant par une variable du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim Var1 As String
    Var1 = Chr(34) & ">" & CStr(diaminf) & Chr(34)

    .

  5. #5
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Re,

    Autre idée, remplacerpar
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Replace(DiamInf,",",".")
    PGZ

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

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

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    Bonjour,
    il me semble que le filtre élaboré est tout à fait adapté à cette demande.

    Bonne journée.

  7. #7
    Membre régulier
    Inscrit en
    Octobre 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 7
    Par défaut
    Bonjour,

    Merci pour vos idées, j'ai trouvé la réponse à partir de l'une d'entre elle.
    L'idée est de mettre tout le critère dans un variable et de l'affecter à Criteria
    Voici la solution qui fonctione dans mon programme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim DiamSup, DiamInf as string
    ' .....
    DiamSup = "<=" & CStr(CSng(TextBox1.Value) + 10)
    DiamInf = ">=" & CStr(CSng(TextBox1.Value) -10)
    ' .....
    .AutoFilter field:=72, Criteria1:=DiamInf, Operator:=xlAnd, Criteria2:=DiamSup, visibledropdown:=True
    Encore merci pour votre aide.

    Eric

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

Discussions similaires

  1. Comment utiliser <> avec array sur autofilter
    Par Nono Sto dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 23/10/2013, 11h14
  2. [XL-MAC 2011] Pb avec utilisation AutoFilter
    Par Caius Suelburnus dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 14/01/2011, 15h26
  3. [JTABLE] Peut-on utiliser des autoFilters avec une JTable
    Par Nico+10) dans le forum Composants
    Réponses: 3
    Dernier message: 18/09/2006, 19h53
  4. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 12h36
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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