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 en VBA


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2020
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2020
    Messages : 6
    Par défaut Filtre en VBA
    Bonjour,

    Je suis débutant sur VBA et dans le cadre d'un exercice, j'aimerais créer une macro permettant de demander à l'utilisateur de sélectionner une ville, puis de filtrer le tableau excel en fonction de la ville sélectionnée.

    J'ai réussi à créer la boîte de dialogue grâce à Inputbox mais je ne sais pas comment m'y prendre ensuite.

    Help please !

  2. #2
    Membre Expert
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

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

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 705
    Par défaut
    Bonjour et bienvenue au forum

    Quel est ton code actuel ? => écris-le avec les balises code (bouton # dans le menu).
    As-tu déjà essayé d'utiliser l'enregistreur de macro pour savoir quelle est la syntaxe à utiliser pour filtrer ?

  3. #3
    Membre extrêmement actif
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    1 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 1 369
    Par défaut
    Bonjour,

    Exemple simple avec filtre avancé


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Extrait()
        Range("Tableau1[#All]").AdvancedFilter Action:=xlFilterInPlace, _
            CriteriaRange:=Range("H1:H2"), Unique:=False
    End Sub
     
    Sub tout()
      On Error Resume Next
      Range("tableau1").Parent.ShowAllData
    End Sub
    Boisgontier
    Fichiers attachés Fichiers attachés

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2020
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2020
    Messages : 6
    Par défaut
    Citation Envoyé par riaolle Voir le message
    Bonjour et bienvenue au forum

    Quel est ton code actuel ? => écris-le avec les balises code (bouton # dans le menu).
    As-tu déjà essayé d'utiliser l'enregistreur de macro pour savoir quelle est la syntaxe à utiliser pour filtrer ?
    Bonjour riaolle, merci beaucoup

    Mon code actuel est ci-joint. Malheureusement je n'ai pas le droit d'uiliser l'enregistreur dans le cadre de cet exercice ..
    Images attachées Images attachées  

  5. #5
    Membre extrêmement actif
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    1 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 1 369
    Par défaut
    Solution MFC

    MFC:=$B5=$A$2

    Nom : Sans titre - Copie (16).png
Affichages : 90
Taille : 16,4 Ko

    Boisgontier
    Fichiers attachés Fichiers attachés

  6. #6
    Membre Expert
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

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

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 705
    Par défaut
    Je ne vois pas comment on va pouvoir vérifier que tu n'as pas utilisé l'enregistreur de macro pour t'aider
    C'est comme si un prof d'anglais te donner un devoir à faire à la maison et qu'il te dit "pas le droit d'utiliser de dictionnaire"

    Plus sérieusement : quand je te proposes d'utiliser l'enregistreur de macro, ce n'est pas pour donner comme réponse à l'exercice le code que te donne l'enregistreur de macro.
    L'enregistreur de macro sert avant tout à savoir quelle syntaxe il faut utiliser. La règle d'or après utilisation de l'enregistreur de macro est ADAPTATION !!! On n'utilise pas le code tel quel.

    Vu ce que tu nous donnes, tu as déjà compris que la syntaxe à utiliser est AutoFilter, mais visiblement tu ne sais pas comment l'utiliser.

    Dans ce cas, la première chose à faire est d'utiliser notre ami Google Tu cliques "VBA AutoFilter" et tu vas sur la page de Microsoft => https://docs.microsoft.com/fr-fr/off...nge.autofilter.
    Là ils te donnent les arguments à renseigner etc.

    Autre chose que tu peux faire, c'est utiliser l'enregistreur de macro et comprendre ce qu'il te renvoie et l'adapter. Exemple tout simple, j'ai utilisé l'enregistreur de macro pour filtrer sur "aaa" dans la colonne A.Il me sort ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub Macro2()
        ActiveSheet.Range("$A$1:$A$6").AutoFilter Field:=1, Criteria1:="aaa"
    End Sub
    J'en déduis que la syntaxe d'AutoFilter est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    laPlageQueJeVeuxFiltrer.AutoFilter Field:=n° de colonne à filtrer dans la plage, Criteria1:=critère pour filtrer

Discussions similaires

  1. [XL-2010] Filtres automatique & vba
    Par iperkut dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/03/2010, 22h05
  2. [XL-97] Filtre avec VBA : Des Soucis de compréhension
    Par Kalimera18 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 09/05/2009, 20h51
  3. selection filtrée tableau vba pour Excel
    Par dbgdbg dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 05/12/2007, 14h56
  4. je bloque sur un filtre en vba
    Par pasbonte dans le forum VBA Access
    Réponses: 3
    Dernier message: 25/11/2007, 16h35
  5. Filtre en VBA (Excel)
    Par melodyyy dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 10/10/2007, 20h49

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