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 :

Macro qui filtre selon une case [XL-365]


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Autre
    Inscrit en
    Novembre 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Autre
    Secteur : Distribution

    Informations forums :
    Inscription : Novembre 2020
    Messages : 2
    Par défaut Macro qui filtre selon une case
    Bonjour à tous,

    Je suis débutant en programmation.
    Mon expérience consiste à enregistrer des macros et à les modifier par la suite. Je ne sais pas « écrire » une macro de A à Z.

    Je vous donne un peu le contexte :
    Chaque semaine, je reçois une liste de tous les produits que nous avons dans l’entreprise. Afin d’analyser cette liste, je dois filtrer certaines colonnes.
    J’ai plusieurs onglets :
    1. Liste : là où je colle la nouvelle liste chaque semaine.
      • Colonne A : Entrepôt où est situé le produit (« Entrepôt A » ou « Entrepôt B »)
      • Colonne G : Date de fin de vente
    2. Résultat : Là où la liste filtrée sera collée.
    3. Tableau de bord : Menu principal. Il y a dans cet onglet :
      • Case E2 : Je mets par quel entrepôt je veux filtrer (« Entrepôt A » ou « Entrepôt B »)
      • Case E4 : Je mets par quelle date je veux filtrer (Varie en fonction de mes besoin)
      • Un bouton pour déclencher la macro



    Voici la Macro :

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    Sub Trie()
     
    ' Trie Macro
     
    'Copier la case E2 du Tableau de Bord
        Range("E2").Select
        ActiveCell.FormulaR1C1 = "Entrepôt 2"
     
    'Mettre les filtres dans l'onglet Liste
        Sheets("Liste").Select
        Range("A1").Select
        Selection.AutoFilter
     
    'Filtrer par la case copier
        ActiveSheet.Range("$A$1:$G$100").AutoFilter Field:=1, Criteria1:= _
            "Entrepôt 2"
     
    'Copier la case E4 du Tableau de Bord
        Sheets("Tableau de bord").Select
        Range("E4").Select
     
    'Filtrer par la case copier (inférieur ou égale à la date)
        ActiveCell.FormulaR1C1 = "7/1/2015"
        Sheets("Liste").Select
        ActiveSheet.Range("$A$1:$G$100").AutoFilter Field:=7, Criteria1:= _
            "<=2015-07-01", Operator:=xlAnd
     
    'Selectionner et copier la liste obtenue
        Columns("A:G").Select
        Selection.Copy
     
    'Coller dans l'onglet résultat
        Sheets("Résultat").Select
        Columns("A:A").Select
        ActiveSheet.Paste
     
    'Enlever les filtres dans l'onglet Liste
        Sheets("Liste").Select
        Range("A1").Select
        Application.CutCopyMode = False
        Selection.AutoFilter
        Sheets("Résultat").Select
     
    End Sub
    Quand j’utilise les filtres de cette manière, la macro enregistre la valeur de la case copiée mais si je change la valeur de la case et que j’exécute la macro, il garde la valeur d’origine.

    J’ai déjà cherché sur des forums comment filtrer par variable mais je n’ai pas l’impression que ces cas correspondent au mien.
    Est-ce quelqu’un aurait une solution à me proposer pour faire cela ?

    Si j'ai oublié des informations ou que vous voulez des renseignements supplémentaires, n'hésitez pas

    Merci à vous et bonne journée,

    Arhis

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Arhis10 Voir le message
    Bonjour,

    Avant de continuer, lisez ceci : https://www.developpez.net/forums/bl...ique-surcroit/

    Le passage de votre table en tableau structuré est très simple en sélectionnant les données puis Insertion - Tableau dans le menu.

  3. #3
    Candidat au Club
    Homme Profil pro
    Autre
    Inscrit en
    Novembre 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Autre
    Secteur : Distribution

    Informations forums :
    Inscription : Novembre 2020
    Messages : 2
    Par défaut
    Citation Envoyé par Eric KERGRESSE Voir le message
    Bonjour,

    Avant de continuer, lisez ceci : https://www.developpez.net/forums/bl...ique-surcroit/

    Le passage de votre table en tableau structuré est très simple en sélectionnant les données puis Insertion - Tableau dans le menu.

    Bonjour Eric,

    Merci beaucoup pour ta réponse. C'est une facette d'Excel que je ne connaissais pas du tout.
    Il ne me reste plus qu'à apprendre comment bien l'utiliser

    Encore merci et bonne journée,

    Arhis

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

Discussions similaires

  1. [Toutes versions] Creer une macro qui s'applique sur case active
    Par Methodrone8 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 06/07/2012, 14h01
  2. Macro qui bug sur une condition
    Par Bernard67 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 19/06/2009, 11h11
  3. [A-07] Afficher Image selon une case à cocher
    Par vinze60 dans le forum IHM
    Réponses: 10
    Dernier message: 21/10/2008, 10h11
  4. recuperer une variable selon une case a cocher
    Par Jerez62 dans le forum VBA Access
    Réponses: 8
    Dernier message: 31/05/2008, 06h02
  5. Macro qui marche qu'une fois
    Par baski dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/06/2007, 22h55

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