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
Ceci est juste un exemple pour me permettre de bien comprendre mais il y'aura beaucoup plus de colonnes dans la version finale.
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.
Par ailleurs je ne souhaite pas qu'il y ait de melange dans les codes et autres paramètres. Chaque colonne étant associée à un article.
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 .... 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 :
J'attends donc vos réponses en espérant que celles-ci pourront m'aider.
Bonne journée à vous
Ynx
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
Ceci est juste un exemple pour me permettre de bien comprendre mais il y'aura beaucoup plus de colonnes dans la version finale.
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.
Par ailleurs je ne souhaite pas qu'il y ait de melange dans les codes et autres paramètres. Chaque colonne étant associée à un article.
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 .... 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 :
J'attends donc vos réponses en espérant que celles-ci pourront m'aider.
Bonne journée à vous
Ynx
Pièces jointes
Dernière édition: