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 :

HELP - Macro filtres multicritère sur des lignes


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Ingénieur en mécanique
    Inscrit en
    Février 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur en mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2018
    Messages : 4
    Par défaut HELP - Macro filtres multicritère sur des lignes
    Bonjour à tous,

    Novice sur le VBA excel (niveau 0.00001) je me permet de vous solliciter dans le cadre d'un projet que je mène. Je vous remercie d'avance pour votre aide et la patience dont vous ferez preuve avec moi. Je cherche à améliorer mon niveau et progresser car cet outil est très puissant et me serait très utile pour le futur. Je ne suis pas contre une macro avec des commentaires, cela me permettra de bien vous suivre et de comprendre au fur et à mesure.

    Mon problème est donc le suivant :
    Je dispose d'un fichier excel très conséquent ( environ 200 colonnes pour environ 30 lignes ).
    Ma mission est de synthétiser ce tableau en un tableau plus simple. Dans ce tableau simplifié je souhaite donc créer une macro me permettant de réaliser des filtres selon des critères multiples ( je précise qu'il n'y aura aucun lien entre le gros fichier excel et le nouveau, ci ce n'est une série de copié-collé que je réaliserais moi même ).

    Je ne souhaite pas / j'ai interdiction plutôt de modifier la structure générale. Ainsi, je dois réaliser un tableau qui se présente comme ceci ( fichier excel joint ):

    L1 Secteur / C1 Mécanique / C2 Mécanique / C3 Mécanique / C4 Mécanique
    L2 Affaire / C1 Pneus / C2 Pneus / C3 Pneus / C4 Pneus
    L3 Marque / C1 GoodYear / C2 Michelin / C3 Pirelli / C4 Swamba
    L4 Ligne / C1 Goodyear / C2 Michelin / C3 Pirelli / C4 Swamba
    L5 Produit / C1 Goodyear TTT / C2 Michelin PV / C3 Pirelli AGP / C4 Swamba TTT
    L6 Code Article / C1 000a / C2 000b / C3 000c / C4 000d
    L7 Fabrication / C1 AAA1 / C2 AA2 / C3 AA3 / C4 AA4
    L8 Emballage / C1 Plastique / C2 Metal / C3 Plastique / C4 Verre
    L9 Remplissage / C1 50 / C2 25 / C3 50 / C4 44

    Vous l'aurez surement compris mais je souhaite réaliser mon filtre sur des lignes et non pas des colonnes ( et j'ai interdiction de faire une transposé pour conserver l'affichage de base ).
    Je souhaite ainsi filtrer les paramètres suivants : Marque, Produit, Emballage, Remplissage

    Pour cela, je souhaite que l'utilisateur dispose d'un bouton pour effectuer ce filtrage. Deux possibilités lui seraient alors possibles :

    1- Un filtrage simple avec un seul paramètre ( exemple : la marque , avec une liste déroulante : Michelin, pirelli, goodyear ou swamba, et donc la même chose pour les 3 autres paramètres. ) Pour le type de produit, j'aimerais que l'utilisateur choisisse entre TTT, AGP et PV. Les noms des produits ont une séquence de caractère assez speciale. J'aimerais donc que la macro aille chercher dans le nom des produits la séquence de caractère qui aura été choisie par l'utilisateur pour en faire ressortir tout les produits avec cette fameuse séquence.

    2- Un filtrage multiple. L'utilisateur choisie par exemple sa marque ( Michelin ), le remplissage ( 50 ) , le produit ( PV ) et enfin l'emballage.


    Si rien ne correspond aux choix de l'utilisateur, la macro affiche un message : "Aucune correspondance" par exemple

    Sincèrement je ne sais par ou commencer sachant que le fichier excel dont je me sers est énorme et le fait que la disposition soit en ligne ne me facilite pas la tâche. J'ai essayé les TDC mais en vain. C'est pourquoi je souhaite utiliser une macro et que je fais appel à vous.

    J'ai trouvé un fichier ( il est en pièce jointe et s'appelle "exemple de macro utile" ) qui fait un peu ce que je souhaite mais il ne fait le filtre que sur un seul paramètre et je ne sais absolument pas comment le modifier ( j'ai une formation VBA prévue dans 2 mois ). Le code utilisé peut servir de base pour ceux qui voudront bien m'aider ... Le projet est par ailleurs assez urgent. J'en appelle donc à la communauté pour m'aider. Je vous en serais extrêmement reconnaissant et je suis sur que ca pourra aider d'autres membres à l'avenir.

    Voici les fichiers : Fichier type.xlsxExemple de macro utile.xls

    J'attends donc vos réponses en espérant que celles-ci pourront m'aider.
    Bonne journée à vous

    Ynx

  2. #2
    Expert éminent 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
    Par défaut
    Citation Envoyé par ynx69 Voir le message
    créer une macro me permettant de réaliser des filtres selon des critères multiples
    Pourquoi ne pas simplement appliquer un filtre à ton fichier ?
    Ca se met en place en 10 s et tu disposes alors de tous les critères que tu veux.

    fichier excel joint :
    [...]
    J'ai trouvé un fichier ( il est en pièce jointe et s'appelle "exemple de macro utile" )
    https://www.developpez.net/forums/d8...s-discussions/

  3. #3
    Candidat au Club
    Homme Profil pro
    Ingénieur en mécanique
    Inscrit en
    Février 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur en mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2018
    Messages : 4
    Par défaut
    Salut Menhir,

    Le problème c'est que je n'ai ni le droit de transposer ni de changer la structure de mon fichier et pour faire un filtre il faudrait que j'ai des étiquettes sur chacune de mes colonnes non ? Hors ici les étiquettes sont sur les lignes et c'est ça qui me dérange en fait ...
    Peux tu quand même m'expliquer l'hypothèse que tu pensais mettre en place ?

    Merci pour ta réponse

  4. #4
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    et tu ne pourrais pas :

    1) transposer ton tableau
    2) effectuer le filtrage et les actions nécessaires
    3) transposer à nouveau pour reprendre la structure de départ

    ?

  5. #5
    Candidat au Club
    Homme Profil pro
    Ingénieur en mécanique
    Inscrit en
    Février 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur en mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2018
    Messages : 4
    Par défaut
    Citation Envoyé par joe.levrai Voir le message
    Bonjour,

    et tu ne pourrais pas :

    1) transposer ton tableau
    2) effectuer le filtrage et les actions nécessaires
    3) transposer à nouveau pour reprendre la structure de départ

    ?
    Joe.levrai , je viens de sortir de ma réunion et oui on peut par exemple utiliser ceci. Dans l'idée en gros une macro qui transpose une premiere fois sur une feuille temporaire, une fois la transposition on propose à l'utilisateur de mettre ses critères de filtrage et ensuite on transpose dans l'autre sens pour obtenir le résultat final..
    Je ne sais pas si ceci est réalisable mais si tu as une idée je suis preneur

    Ynx

  6. #6
    Expert éminent 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
    Par défaut
    Citation Envoyé par ynx69 Voir le message
    Le problème c'est que je n'ai ni le droit de transposer ni de changer la structure de mon fichier et pour faire un filtre il faudrait que j'ai des étiquettes sur chacune de mes colonnes non ? Hors ici les étiquettes sont sur les lignes et c'est ça qui me dérange en fait ...
    Peux tu quand même m'expliquer l'hypothèse que tu pensais mettre en place ?
    Je n'avais pas vu que ton tableau était dans le mauvais sens.
    Je ne sais pas qui l'a organisé comme ça mais c'est vraiment ballo.

    Désolé mais ce que tu demandes est de réaliser une application complète pour toi.
    Et ça, je ne fais pas.

  7. #7
    Candidat au Club
    Homme Profil pro
    Ingénieur en mécanique
    Inscrit en
    Février 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur en mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2018
    Messages : 4
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Je n'avais pas vu que ton tableau était dans le mauvais sens.
    Je ne sais pas qui l'a organisé comme ça mais c'est vraiment ballo.

    Désolé mais ce que tu demandes est de réaliser une application complète pour toi.
    Et ça, je ne fais pas.
    Dans le cas d'une transposition comme le suggere joe, ca simplifie tout le problème non ? Qu'entends tu par application complète ? Personnellement je ne recherche qu'un simple module de filtrage pour l'atelier, pas un nouveau windows.. lol

    Merci pour ton aide

  8. #8
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Transposer dans une nouvelle feuille, avec un collage spécial c'est simple

    les données sont en Feuil2 et on veut les transposer à partir de A1 de Feuil3

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub toto()
    Feuil2.UsedRange.Copy
    Feuil3.Cells(1, 1).PasteSpecial xlPasteAll, , , True
    Application.CutCopyMode = False
    End Sub
    Pour le reste, je te laisse travailler ton projet de filtrage, maintenant que les données sont "dans le bon sens"

Discussions similaires

  1. Boucle sur des lignes et colonnes
    Par Livet dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/08/2007, 19h45
  2. Autofit sur des lignes marche pas
    Par coco21 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 10/07/2007, 15h35
  3. Filtre qui supprime des lignes
    Par bibi5883 dans le forum Débuter
    Réponses: 4
    Dernier message: 29/05/2007, 14h23
  4. jointure sur des lignes d'une même table
    Par elsa_dach dans le forum Langage SQL
    Réponses: 3
    Dernier message: 19/01/2007, 12h08
  5. PB code et filtre multicritères sur formulaire
    Par flagfight dans le forum Access
    Réponses: 3
    Dernier message: 28/04/2006, 16h36

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