|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : juillet 2004 Messages : 31 ![]() |
Bonjour,
je travaille avec un graphique Excel comportant beaucoup de série de donnée dans un graph de type nuage de point. Toutes les données n'ont pas la même échelle donc je souhaite les répartir sur l'axe principal et l'axe secondaire. Ça je sais faire dans Excel en éditant la mise en forme de la série de donnée. Cependant comme j'ai beaucoup de courbes j'aimerai me faire un bouton axe principal et un bouton axe secondaire qui par macro me changent d'un clic l'axe de la série sélectionnée. J'ai utilisé l'enregistreur de macro qui m'a donné le code suivant pour changer l'axe de la série 1 : Code :
ActiveChart.SeriesCollection(1).AxisGroup = 1 Code :
Selection.SeriesCollection(1).AxisGroup = 1 Comment je peux rendre ma macro indépendante du numéro de la série pour quel fonctionne sur la série sélectionnée ? Merci par avance de aide. |
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() ![]() |
Salut
Peut-être directement ++ Qwaz
__________________
MagicQwaz := Harry Potter la baguette en moins ![]() Le monde dans lequel on vit HammerFest Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer |
|
|
00
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Inscription : juillet 2004 Messages : 31 ![]() |
j'ai déjà testé. Ca a marché 1 fois pour je ne sais pas quelle raison mais impossible de reproduire...
|
|
|
00
|
|
|
#4 | ||
|
Expert Confirmé Sénior
![]() ![]() |
Salut
J'ai placé ce code Code :
Si ça ne fonctionne pas, met le On error... en commentaire et dis nous le message d'erreur que tu obtiens. ++ Qwaz
__________________
MagicQwaz := Harry Potter la baguette en moins ![]() Le monde dans lequel on vit HammerFest Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer |
||
|
|
00
|
|
|
#5 | |
|
Candidat au titre de Membre du Club
![]() Inscription : juillet 2004 Messages : 31 ![]() |
j’obtiens le message d'erreur suivant :
Citation:
|
|
|
|
00
|
|
|
#6 |
|
Expert Confirmé Sénior
![]() ![]() |
Salut
Tu ne dois pas sélectionner la série comme il faut je pense, il faut que tous les point soient sélectionnés. Place un espion sur la ligne pour contrôler le contenu de Selection. (Clique droit sur Selection, Ajouter un Espion, OK) ++ Qwaz
__________________
MagicQwaz := Harry Potter la baguette en moins ![]() Le monde dans lequel on vit HammerFest Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer |
|
|
00
|
|
|
#7 |
|
Candidat au titre de Membre du Club
![]() Inscription : juillet 2004 Messages : 31 ![]() |
Je sélectionne la série avec le menu déroulant dans le ruban Option graphique>Disposition>Menu Elements de graphique. Je fais conne ça car il y a beaucoup de courbes (d'environ 10000 points) les unes sur les autres et c'est pas facile de sélectionner la bonne avec la sourie.
Je viens de mettre l'espion mais je ne sais pas ce qu'il faut regarder dedans là ? Quelle info tu veux ? @+ [EDIT 1] 11/01/12 09:00 Je viens d'essayer avec un graphique avec juste 3 courbes d'une dizaine de points et ça fait toujours la même erreur, quelle que soit la méthode de sélection. Est-ce qu'il me manque une référence ? [EDIT 2] 11/01/12 10:43 J'ai trouvé pourquoi l'erreur apparait mais je ne sais pas comment corriger. Lorsque je sélectionne la série et que j'exécute la macro depuis VB ça fonctionne, lorsque j'exécute la macro depuis la fenêtre Macros d'Excel ça fonctionne. Mais si j'exécute la macro depuis un bouton formulaire ou AxtiveX ça ne fonctionne plus. VB doit prend en compte la sélection du bouton. Du coup c'est normal qu'il n'arrive pas à modifier l'axe du bouton Maintenant que j'ai trouvé le pourquoi, comment je peux faire pour que la macro ne prenne pas en compte le clic sur le bouton comme sélection mais qu'elle garde la série comme sélection ? Je souhaite garder une fonctionnalité équivalente au bouton pour éviter faire 15 clics pour changer un axe. |
|
|
00
|
|
|
#8 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : juillet 2004 Messages : 31 ![]() |
C'est bon j'ai trouvé la solution !!
J'utilise un bouton ActiveX dont je modifie la propriété : Lorsque je clic sur le bouton dans VBA cela appel le code suivant: Code :
@+ |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com