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 :

Boutons de commande "Filtre" avec VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2023
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2023
    Messages : 4
    Par défaut Boutons de commande "Filtre" avec VBA
    Bonjour,

    Je travaille sur des listes .csv qui contiennent plusieurs dizaines de milliers de lignes. Actuellement, je dois trouver une solution pour filtrer ces données en fonction de certains critères précis.

    Au préalable, j’ai réussi, grâce à ce forum, à combiner des fichiers .csv dans une feuille excel à l’aide de VBA. Maintenant, je recherche comment faire pour faire des filtres automatiques en fonction de certains critères.

    Pour illustrer mes propos, voici à quoi ressemble ma liste :

    LIEU VENDEUR DATE ET HEURE (même cellule) N°de série
    Paris BMD 23.11.2022 14:05 WWG4657987
    Lyon WWH 01.12.2022 21:14 123874ZU
    Caen PID 13.12.2022 18:19 GMB7898AF

    J’aimerais donc, après avoir importé mes données, créer des boutons de commande qui permettent de filtrer automatiquement mon tableau en fonction de mes critères.

    Voici des exemples de boutons de commande que j’aimerais créer :
    • « Numéros de série commençants par 4 lettres et comportant 6 caractères au total et ne contenant pas les lettres O, U, X »
    • « Période entre 14h00 et 18h00 »

    Actuellement je m’en sors grâce à mes maigres connaissances en formules. Mais l’idéal serait de travailler sur un classeur de base sur lequel j’importe mes données, je fais quelques clics et je filtre les données sans devoir à chaque fois remettre en forme et faire mes fonctions manuellement.

    Pensez-vous que cela est faisable?

    Merci d'avance pour le temps passer à me répondre!

  2. #2
    Membre émérite
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2022
    Messages
    685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Octobre 2022
    Messages : 685
    Par défaut
    Bonjour,

    normalement, tu devrais avoir rapidement quelques dizaines de "regarde PowerQuery" comme réponse, ce qui s'est peut être déjà produit sur la partie "combiner des fichiers .csv dans une feuille excel à l’aide de VBA" si tu as demandé de l'aide. Honnêtement, vu ce que tu es en train de faire, et bien que moi-même non pratiquant, je pense que c'est une bonne approche dans ton cas.

    Actuellement je m’en sors grâce à mes maigres connaissances en formules. Mais l’idéal serait de travailler sur un classeur de base sur lequel j’importe mes données, je fais quelques clics et je filtre les données sans devoir à chaque fois remettre en forme et faire mes fonctions manuellement
    Si tu as déjà écrit - ou à peu près - tes formules, une bonne approche pourrait être de les laisser dans un coin (un onglet de paramétrage, des lignes ou colonnes cachées...) et dans ton code vba copier la formule correspondant dans une colonne prévue à cet effet. Pas de trucs compliqué dans le code, pas de question à se poser, facile à maintenir, à tester et à faire évoluer.

    J'essaye de t'illustrer ça.

  3. #3
    Membre émérite
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2022
    Messages
    685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Octobre 2022
    Messages : 685
    Par défaut
    Re,

    donc dans ton onglet principal tu mets tes données de A à D, et une colonne test ou formule en E

    tu ajoutes un onglet de paramétrage avec la même structure, plus une colonne libellé. De A à D tu mets des données qui servent à mettre au point / valider ta formule, et dans la colonne E la formule correspondant au filtre

    Par exemple :
    Nom : _Capture d’écran 2023-02-16 174220.png
Affichages : 118
Taille : 16,9 Ko

    En E4 on aurait =SI(B4="PID";1;0) et en E2 j'ai la flemme de l'écrire...

    Pour appliquer le filtre de la ligne i il suffit de copier la formule de la cellule Ei dans la colonne E de l'onglet principal, puis de filtrer la colonne sur 1.

    Et au lieu de faire un bouton par filtre, tu peux faire un form avec une listbox (ou un menupopup ) qui reprend les libellés de la colonne F de l'onglet paramètre pour faire choisir le filtre.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2023
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2023
    Messages : 4
    Par défaut
    Ok j'avais pas pensé à ça, je vais tester.

    En fait l'idée c'était de rendre accessible le document de base à n'importe quel utilisateur et qu'il soit "intuitif" à utiliser, d'où les boutons de commandes que je souhaitais créer.

    Mais je pense que ton idée peut déjà me simplifier la vie, merci!

Discussions similaires

  1. [XL-2007] Problème filtre automatique avec vba
    Par aziz1015 dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 22/07/2015, 16h52
  2. Filtre automatique avec VBA
    Par aziz1015 dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 20/07/2015, 22h17
  3. [XL-2010] Problème Filtre avancé avec VBA
    Par jppnancy dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 12/04/2015, 10h35
  4. [Toutes versions] Filtre automatique avec vba
    Par sabzzz dans le forum Contribuez
    Réponses: 0
    Dernier message: 13/04/2010, 21h17
  5. Synthaxe pour expression comprenant quote avec commande like
    Par loopy4321 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 05/07/2004, 12h21

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