VBA Excel - graphique données sources = tableau

VBA Excel - graphique données sources = tableau - VB/VBA/VBS - Programmation

Marsh Posté le 06-04-2011 à 22:13:14    

Bonsoir,
 
Je fais un programme en VBA dans lequel je crée un graphique.
Les données sources que je veux utiliser sont dans un tableau (dim graphique1 (1 to x,1 to 2)), avec les abscisses dans la première colonne et les ordonnées dans la seconde.
 
Mon problème est que je n'arrive pas à créer mon graphique à partir de ce tableau! J'ai deja essayé de faire:
 
ActiveChart.SetSourceData Source:=graphique1(all, all)
 
Merci de votre aide


Message édité par vincentpsg le 06-04-2011 à 22:13:39
Reply

Marsh Posté le 06-04-2011 à 22:13:14   

Reply

Marsh Posté le 06-04-2011 à 22:49:41    

Salut, via http://www.google.fr/#hl=fr&biw=10 [...] 6660d367fb ou http://silkyroad.developpez.com/vba/tableaux/


Message édité par kiki29 le 07-04-2011 à 14:57:59
Reply

Marsh Posté le 08-04-2011 à 16:25:17    

Merci pour la réponse, mais j'avais déjà vu le second lien, qui ne répond pas à mon problème. Car moi je n'ai qu'un seul tableau, qui contient à la fois les abscisses et les ordonnées, et non pas un tableau pour les abscisses et un pour les ordonnées!

Reply

Marsh Posté le 09-04-2011 à 01:23:44    

Salut,tu sembles croire que tout va te tomber tout cuit et bien non ce ne sera pas le cas


Message édité par kiki29 le 09-04-2011 à 01:25:05
Reply

Marsh Posté le 11-04-2011 à 13:17:10    

Je ne pensais pas que c'était nécessaire de le préciser dans mon premier post, mais j'aurai dû: je cherche des gens apte à me fournir une réponse utile,constructive, et pas des liens renvoyant vers google, car, évidemment, avant de venir ici, j'avais déjà pensé à chercher sur google...

Reply

Marsh Posté le 11-04-2011 à 14:10:59    

Avec Excel, il est souvent nécessaire de recopier et reformater ses données dans des cellules "temporaires" ou "de travail", et il arrive souvent que les utilisateurs soient réticents à faire cela, même s'il est possible de masquer les colonnes de ces données temporaires ou de travail. Ici, il semble que cela soit le cas.
 
Mais, le problème pourrait aussi venir d'ailleurs.
J'ai toujours vu que ActiveChart.SetSourceData contenir une liste de cellules, et non pas un tableau VBA. Je ne sais pas si c'est possible, et si vous avez déjà vu des exemples comme cela, ou si vous avez déjà réussi cela.
Donc, la solution serait de remplir des cellules avec les données de votre tableau VBA, et ensuite d'indiquer comme SourceData, un range de ces cellules.
Une autre solution serait de ne pas utiliser SetSourceData, mais d'utiliser SeriesCollection.

Reply

Marsh Posté le 11-04-2011 à 22:32:59    

Merci de votre réponse!  
 
J'avais également essayé avec SeriesCollection, mais je revenais au même problème, il fallait que mes abscisses et mes ordonnées soient dans deux tableaux différents! Finalement, je pense abandonner.  
 
En fait, utiliser des tableaux était une des consignes de mon projet que j'ai à faire, et ne sachant pas où les utiliser , j'avais décider de le faire pour les données sources des graphiques (à la base, j'avais généré mes données sur une feuille que j'avais masqué comme vous le suggérez).
 

Reply

Marsh Posté le 11-04-2011 à 23:30:13    

Re,sur le 2eme lien tu as la réponse , mais pour cela il faudrait l'avoir lu et surtout assimilé, ce qui ne semble pas être le cas, et ne compte plus sur moi pour t'aider

Message cité 1 fois
Message édité par kiki29 le 11-04-2011 à 23:31:55
Reply

Marsh Posté le 07-11-2011 à 15:33:52    

kiki29 a écrit :

Re,sur le 2eme lien tu as la réponse , mais pour cela il faudrait l'avoir lu et surtout assimilé, ce qui ne semble pas être le cas, et ne compte plus sur moi pour t'aider


 
Sauf ton respect, je ne pense que tu l'aies beaucoup fait avancer  :lol:  
J'ai eu le même genre de problème, J'ai fini par faire une macro qui crée un onglet temporaire en mettant "en forme" les données nécessaires dans des ranges de cellule. Sinon c'est prise de tête. VBA c'est pas vraiment fait pour être beau ou propre comme d'autres langages  :D Faut juste que ca marche  :p

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed