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 :

(E-03) Filtre élaboré : Wildcard sur champ numérique


Sujet :

Macros et VBA Excel

  1. #1
    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 (E-03) Filtre élaboré : Wildcard sur champ numérique
    Bonjour,
    j'ai un problème dans le code suivant pour effectuer une sélection sur des colonnes dont le contenu est numérique.

    Si je met dans l'argument la valeur recherchée complète, ex 8245, il trouve, si j'essaie le wildcard, ex 82*, il ne trouve rien.

    Est-il possible de contourner ce problème sans changer le formattage de mes colonnes. Je voudrais vraiment pouvoir faire un filtrage sur un valeur générique d'une zone numérique.
    Sur toutes les colonnes contenant du texte, pas de problème avec le wildcard.

    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
    Sub View_Type()
     
    Dim ligne As Long
     
     
    '   efface l'ancien résultat.
        ligne = Sheets("Selection").Range("G65535").End(xlUp).Row
        If ligne > 1 Then Sheets("Selection").Rows(2 & ":" & ligne).Delete shift:=xlUp
        ligne = Sheets("Selection").Range("K65535").End(xlUp).Row
        If ligne > 1 Then Sheets("Selection").Rows(2 & ":" & ligne).Delete shift:=xlUp
        ligne = Sheets("By user").Range("F65535").End(xlUp).Row
        Sheets("Selection").Select
        Sheets("By user").Range("A1:O" & ligne).AdvancedFilter Action:=xlFilterCopy, _
            CriteriaRange:=Sheets("Critere").Range("A1:F2"), CopyToRange:=Range("A2"), _
            Unique:=False
    End Sub

  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
    Bon, j'essaie de me débrouiller en utilisant la condition comme une formule, mais je n'y parviens pas.

    Je veux par exemple toutes les lignes avec en colonne G un numéro allant de 9300 à 9400. Je n'arrive a rien.
    J'ai simplifié l'argument en =9300 pour débugger, mais sans succès

    J'ai essayé toutes ces versions, mais rien ne marche.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    =G2=9000
    =G=9000
    ='By user'!G2=9000
    la formule est bien évaluée a TRUE ou FALSE comme l'indique l'aide en ligne, mais nada.

    Voici pour info ce que donne l'aide ( a mon avis je ne la comprends pas correctement).
    You can use a calculated value that is the result of a formula as your criterion. When you use a formula to create a criterion, do not use a column label for a criteria label; either keep the criteria label blank or use a label that is not a column label in the range. For example, the following criteria range displays rows that have a value in column C greater than the average of cells C7:C10.


    =C7>AVERAGE($C$7:$C$10)

    Notes

    The formula you use for a condition must use a relative reference to refer to the column label (for example, Sales) or the corresponding field in the first record. All other references in the formula must be absolute references, and the formula must evaluate to TRUE or FALSE. In the formula example, "C7" refers to the field (column C) for the first record (row 7) of the range.
    You can use a column label in the formula instead of a relative cell reference or a range name. When Microsoft Excel displays an error value such as #NAME? or #VALUE! in the cell that contains the criterion, you can ignore this error because it does not affect how the range is filtered.
    When evaluating data, Microsoft Excel does not distinguish between uppercase and lowercase characters.
    All items that begin with that text are filtered. For example, if you type the text Dav as a criterion, Microsoft Excel finds "Davolio," "David," and "Davis." To match only the specified text, type the following formula, where text is the text you want to find. =''=text''
    EDIT-----
    J'ai oublié de préciser que je voudrais la condition sur une seule ligne, d'où le besoin de la formule.

    merci d'avance.

  3. #3
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 905
    Points
    55 905
    Billets dans le blog
    131
    Par défaut
    Salut...

    Tu peux préciser ton contexte? Filtre automatique, filtre élaboré?

    Si filtre automatique, pourquoi ne pas utiliser un filtre personnalisé en donnant les bornes inférieure et supérieure?

  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
    Bonjour Pierre,
    comme indiqué dans le titre de mon post, Filtre Elaboré.
    Par contre je n'ai pas précisé E-03.

    Je ne peux utiliser le filtre automatique car la mise en page est assez complexe.

  5. #5
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 905
    Points
    55 905
    Billets dans le blog
    131
    Par défaut
    Il te faut une zone Critères avec deux fois le nom de la colonne sur laquelle tu filtres.

    Dans une, tu mets >=8200 et dans l'autre <=8299
    Puis tu appliques ton filtre

  6. #6
    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
    Pierre,
    c'est ce que j'aurais voulu éviter, les 2 lignes, en utilisant la formule, car via mon userform je n'avais qu'une zone de sélection par critère.

    mais bon, si ce n'est pas possible, je vais faire comme tu dis.

    Merci.

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

Discussions similaires

  1. Filtre sur champ numérique
    Par pierrot67 dans le forum Débuter
    Réponses: 10
    Dernier message: 20/10/2009, 17h13
  2. Auto Increment sur champs numérique
    Par Sami Xite dans le forum Access
    Réponses: 19
    Dernier message: 09/02/2007, 16h40
  3. Masque d'édition sur champ numérique
    Par lodan dans le forum Langage
    Réponses: 2
    Dernier message: 14/09/2006, 22h05
  4. 0 significatif sur champ numérique
    Par tucsoufle dans le forum Access
    Réponses: 5
    Dernier message: 23/08/2006, 15h52
  5. CR9:Espace sur champ numérique après concaténation
    Par nanouille56 dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 07/07/2005, 09h35

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