Problème avec selection de données pour un graphique en VBA

Bonjours tous le monde,

J'ai une macro qui me permet de selectionné les données à tracer dans un graphique. Le nombre de courbe à tracer varie j'ai donc des conditions avec des if pour savoir combien de courbe tracer.

Mon problème vient du faite que parfois je ne sais pas combien de courbe je dois tracer et en vba on est obligé d'appeler charge courbe les unes après les autres.

Prenons un exemple.

ActiveChart.SeriesCollection(1).Name = "=Feuil3!$AD$7"

Si je veux tracer une deuxième courve je suis obligé de l'appeler:

ActiveChart.SeriesCollection(2).Name ="XXXXX"

Si je l'appele:

ActiveChart.SeriesCollection(4).Name ="XXXXX" sa ne marchera pas car j'aurai pas de courbe 2 et 3 avant la 4.

Quelqu'un sait'il comment créer des courbes sans prendre en compte le nombre de courbe déjà tracer ?

Merci d'avance.

Guillaume.

Bonjour Yoda,

J'avais eu un problème similaire, dans un projet l'an dernier :

Dans Visual Studio, tu vas dans l'explorateur d'objets (F2) (tellement pratique comme outil!), SeriesCollection :

et il y a la fonction Count comme pour les Sheets et autres, ainsi qu'une fonction NewSeries!

Donc tu peux mettre un truc du genre :

ActiveChart.SeriesCollection(SeriesCollection.Count).Name ="XXXXX"

qui te renommera la dernière courbe!

Bon courage!

ReuK a écrit :

Bonjour Yoda,

J'avais eu un problème similaire, dans un projet l'an dernier :

Dans Visual Studio, tu vas dans l'explorateur d'objets (F2) (tellement pratique comme outil!), SeriesCollection :

et il y a la fonction Count comme pour les Sheets et autres, ainsi qu'une fonction NewSeries!

Donc tu peux mettre un truc du genre :

ActiveChart.SeriesCollection(SeriesCollection.Count).Name ="XXXXX"

qui te renommera la dernière courbe!

Bon courage!

Bonjour Reuk, désolé pour le retard j'étais en déplacement.

Je pense que tu as mal compris mon problème, moi je veux pouvoir ajouter des courbes sans savoir combien de courbe on déjà été créer. Je ne veux pas renomer la dernière courbe présente dans le graphique.

Merci quand même.

Salut Yoda,

Tu pourrais mettre ton code et expliquer où tu galères parce que j'ai du mal à voir ce qu'il te faut...

J'ai fait pas mal de macro graphiques l'an dernier donc je comprendrais pas mal je pense mais je ne vois pas comment tu veux faire sans connaitre le nombre de courbes tracées... Ou alors il te faut un compteur annexe pour le nombre que toi tu veux faire...

Enfin je réfléchi un peu dans le vide là...

mais en tout cas, le SeriesCollection.Count devrait être utile à ce que tu essayes de faire (encore une fois, je suppose...)

ReuK a écrit :

Salut Yoda,

Tu pourrais mettre ton code et expliquer où tu galères parce que j'ai du mal à voir ce qu'il te faut...

J'ai fait pas mal de macro graphiques l'an dernier donc je comprendrais pas mal je pense mais je ne vois pas comment tu veux faire sans connaitre le nombre de courbes tracées... Ou alors il te faut un compteur annexe pour le nombre que toi tu veux faire...

Enfin je réfléchi un peu dans le vide là...

mais en tout cas, le SeriesCollection.Count devrait être utile à ce que tu essayes de faire (encore une fois, je suppose...)

En faite je viens de réussir à résoudre mon problème, il suffit simplement de mettre un with quand tu crée ta nouvelle série de données, tu peux ensuite la nommé, choisir la plage de données ... sans avoir besoin d'indiqué à quel courbe sa correspond.

Je pense par contre utilisé ton code pour supprimer les courbes traçès, es ce que tu sais si on peut récupérer l'information count dans une variable par exemple ? Une fois le nombre de courbe tracé déterminé il suffit de faire une petite bloucle pour supprimer le nombre de courbe tracer .

Le count dans un variable, c'est à dire?

tu veux faire quoi? c'est quoi ta variable?

Je bouge là mais je te répond à tout ça ce soir!

ReuK a écrit :

Le count dans un variable, c'est à dire?

tu veux faire quoi? c'est quoi ta variable?

Je bouge là mais je te répond à tout ça ce soir!

Je veux savoir si tu peux récupérer la valeur count en gros ? Count renvoie la dernière courbe creé il me semble.

Es ce que je peux mettre la valeur récupérer par count dans une variable par exemple.

va12=".......count" qui me donnerai va12=5 si il y 5 série de données dans mon graphique ?

Oui oui, c'est justement tout l'intérêt du Count!

Le count te renvoie le numéro d'index du dernier objet de cette classe!

(faut faire gaffe avec certains count (ie certains éléments), le comptage commence à 1 mais l'index à 0; donc d'abord tester le count sur un graph où tu connais le nombre de courbes!)

Si tu veux savoir ce que fait une fonction précise, tu vas dans l'aide (F1) ou l'explorateur d'objets (F2), tu trouveras des infos.

Mais pour ma plupart des instructions, tu n'auras pas besoin de passer par une variable comme dans l'exemple que je t'ai donné même si ça reste un exemple plutôt simple!

ReuK a écrit :

Oui oui, c'est justement tout l'intérêt du Count!

Le count te renvoie le numéro d'index du dernier objet de cette classe!

(faut faire gaffe avec certains count (ie certains éléments), le comptage commence à 1 mais l'index à 0; donc d'abord tester le count sur un graph où tu connais le nombre de courbes!)

Si tu veux savoir ce que fait une fonction précise, tu vas dans l'aide (F1) ou l'explorateur d'objets (F2), tu trouveras des infos.

Mais pour ma plupart des instructions, tu n'auras pas besoin de passer par une variable comme dans l'exemple que je t'ai donné même si ça reste un exemple plutôt simple!

Ok,merci pour ton aide.

De rien,

si tu as besoin de plus de précisions, met ton code et sinon merci de clôturer le sujet!

Mon premier problème est résolu, cependant un deuxième est apparue.

Dans mon graphique j'affiche plusieurs série de données, des nuages de point ainsi que des courbes.

Actuellement les courbes se mettent toujours en dessous les nuages de point, donc je ne voit plus les courbes.

Je voudrais mettre mais courbes au dessus des nuages de point mais je n'y arrive pas.

Si tu as une idée ?

Bah soit tu traces plusieurs graphs, soit plusieurs séries mais je vois pas trop comme ça d'où pourrait venir ton problème...

Met ton code ou un fichier et sinon clôture ce sujet et pose ta question dans un autre...

Rechercher des sujets similaires à "probleme selection donnees graphique vba"