Re: Optimiser mes macros en VBA | ||
---|---|---|
Inscription: 23/05/2008
De La Varenne Saint-Hilaire
Messages:
356
Système d'exploitation: PC Version Excel utilisée: 2010 |
Posté le : 06-09-2010 22h44
Bonsoir zorbrax,
Tu as peut-être fait une mauvaise manip, mais de loin comme ça on ne peut pas savoir. Du coup, j'ai tenté de reconstituer un TCD à partir de ton fichier Excel et de ton Doc Word avec une zone nommée. Tu la trouveras dans le fichier joint, elle s'appelle ZoneTCD, et la formule qui la calcule est (n'oublie pas les signes $): =DECALER(Feuil1!$E$1;;;NBVAL(Feuil1!$E:$E);66) Ensuite j'ai créé un TCD dans l'onglet TCD1 qui je l'espère ressemble à peu près aux tiens, et j'ai indiqué cette zone dans la source de données, comme ceci: Ensuite, j'ai mis 2 boutons dans l'onglet Menu, un PACA et un Rhône Alpes, qui dirigent tous deux vers l'onglet TCD1, mais modifient le filtre de la région, en utilisant cette macro simple par exemple pour le bouton PACA: Sub PACA() Pour continuer, tu verras que j'ai créé une autre zone nommée dynamique, NumEntrepot: =DECALER(Correspondances!$K$2;;;NBVAL(Correspondances!$K:$K)-1;) J'utilise cette zone dans les formules de la colonne M de l'onglet Feuil1 afin de ne pas avoir à utiliser l'itégralité des colonnes K à M sur 65000 lignes: =DECALER(Correspondances!$K$1;EQUIV(L2;NumEntrepot;0);2;;) Voilà zorbrax, j'espère que ces éléments pourront t'aider, si non dis nous ... Bonne soirée et à bientôt, Mth
Edité par Mth le 07/09/2010 00:19:05
|
|
|
Re: Optimiser mes macros en VBA | ||
---|---|---|
Inscription: 30/08/2010
Messages:
53
Système d'exploitation: PC - MAC Version Excel utilisée: Excel 2003.2007.2010 |
Posté le : 07-09-2010 20h08
Bonsoir,
Je suis époustouflé par cette démonstration, et sincèrement touché de ce que vous me restituez. Je vois que j’ai pas mal à apprendre, ne serait-ce pour comprendre dans ses moindres détails la construction et l’agencement des formules. Je vais m’y atteler de pied ferme. Je n’ose même pas parler des macros qui à la lecture paraissent si simples ! Je vais dons me servir de cet exemple pour commencer à construire mon tableau. Il ne restera plus qu’à revenir vers vous pour les graphiques…. Et je pense, bien avant ! Pour la construction. Je suis encore une fois agréablement surpris de votre gentillesse vous êtes tout simplement géniaux. Bien cordialement |
|
|
Re: Optimiser mes macros en VBA | ||
---|---|---|
Inscription: 30/08/2010
Messages:
53
Système d'exploitation: PC - MAC Version Excel utilisée: Excel 2003.2007.2010 |
Posté le : 08-09-2010 20h42
Bonsoir, Maintenant je voudrai savoir s’il est possible de filtrer à l’aide de macros sur le critère DBL => OK et sur « Après cette intervention votre image du SAV est elle » et un autre critère différent de ce dernier ? J’ai tenté de tripoter la macro permettant le filtre sur la région de votre exemple, mais je sèche ! Voir exemple joint… |
|
|
Re: Optimiser mes macros en VBA | ||
---|---|---|
Inscription: 23/05/2008
De La Varenne Saint-Hilaire
Messages:
356
Système d'exploitation: PC Version Excel utilisée: 2010 |
Posté le : 08-09-2010 23h24
Bonsoir zorbrax,
Belle perte de poids en effet :) Ceci dit il en reste, accessoirement, tu as une image dans ton onglet "Menu", vois combien elle pèse, sait-on jamais. Pour le critère DBL2, tu peux ajouter une autre ligne de code, par exemple: ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("DBL2"). _ En fait je ne sais pas si j'ai bien compris ta question, mais tu veux pouvoir choisir à la fois la région (qui est en filtre) et la question (qui est en étiquette de colonne dans le TCD)? Si c'est ça, je te joins un fichier différent, j'ai éliminé l'onglet "Menu", et j'ai intégré dans l'onglet TCD deux listes déroulantes, une pour choisir la région, l'autre pour choisir la question. En suite on clique sur le bouton et le TCD s'affiche avec les paramètres demandés. Pour les listes déroulantes, tu peux les voir dans le menu "Données" / "Validation" (j'ai placé la liste des régions et des questions dans l'onglet "Correspondance") Pour le TCD; je ne suis pas calée en VBA mais avec l'enregistreur de macros et quelques arrangements quand même, voici le code que tu pourras tester dans le fichier (les commentaires sont en vert): Sub Affiche() Voilà, je te laisse regarder si cela peut te convenir. Très bonne soirée et à bientôt, Mth |
|
|