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 :

Filtre "411*" en VBA [XL-2016]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Collaborateur comptable / Gestion informatique
    Inscrit en
    Septembre 2016
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Collaborateur comptable / Gestion informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 23
    Points : 14
    Points
    14
    Par défaut Filtre "411*" en VBA
    Bonjour,

    Mon problème est relativement simple.

    J'essaye d'effectuer un filtre sur un tableau, avec comme critère tous ce qui commence par 411 dans la colonne n°8

    Le faire "à la main" fonctionne très bien, je sélectionne ma colonne, je clique sur le filtre, 'j'indique "411*" et je clique sur OK.

    Mais quand j'essaye de le retranscrire en VBA, le filtre me renvoie aucun résultat.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ActiveSheet.Range("$A:$W").AutoFilter Field:=8, Criteria1:="=411*"
    Merci de votre retour

  2. #2
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Essaye d'enlever le = devant 411.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Collaborateur comptable / Gestion informatique
    Inscrit en
    Septembre 2016
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Collaborateur comptable / Gestion informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 23
    Points : 14
    Points
    14
    Par défaut
    Merci de ton retour.

    mais malheureusement, cela n'a rien changer

  4. #4
    Membre confirmé
    Homme Profil pro
    Analyste programmeur
    Inscrit en
    Mai 2014
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyste programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 393
    Points : 505
    Points
    505
    Par défaut
    Il n'est malheureusement pas possible, en VBA, d'utiliser directement le critère "commence par", l'utilisation du caractère "*" ne fonctionnera pas tel qu'attendu (il serait considéré comme un caractère écrit tout simplement).
    Voilà un sujet apportant une manière de résoudre le problème (si tu n'es pas allergique à l'anglais) :
    https://www.mrexcel.com/forum/excel-...not-begin.html
    Politesse, respect et humilité sont les 3 éléments nécessaires dans une bonne relation d'entraide. Nous faisons cela par plaisir d'aider, ne nous le retirez pas

  5. #5
    Membre à l'essai
    Homme Profil pro
    Collaborateur comptable / Gestion informatique
    Inscrit en
    Septembre 2016
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Collaborateur comptable / Gestion informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 23
    Points : 14
    Points
    14
    Par défaut
    Bonjour,

    Merci de la confirmation de ce que je pensé

    Je vais regarder ton lien externe.

    Merci

  6. #6
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 617
    Points : 5 912
    Points
    5 912
    Par défaut
    Bonjour,

    Si les données de la colonne H sont numériques, ça ne fonctionnera pas.
    Autrement, ça devrait fonctionner correctement.
    MPi²

  7. #7
    Membre expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 267
    Points : 3 663
    Points
    3 663
    Par défaut
    Bonjour,

    une idée sans colonne sup :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub test()
        ' filtrer nombres commence par xxx. eriiic
        Dim pl As Range, c As Range
        On Error Resume Next
        Set pl = Columns(8).SpecialCells(xlCellTypeConstants, xlNumbers)
        On Error GoTo 0
        If Not pl Is Nothing Then For Each c In pl: c.Value = "'" & c.Value: Next c
        ActiveSheet.Range("A:H").AutoFilter Field:=8, Criteria1:="=411*"
        If Not pl Is Nothing Then For Each c In pl: c.Formula = c.Formula: Next c
    End Sub
    eric

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

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