Rajouter des series en boucles Graphe excel.[Résolu]

Rajouter des series en boucles Graphe excel.[Résolu] - VB/VBA/VBS - Programmation

Marsh Posté le 16-07-2013 à 16:47:44    

Bonjour a tous , voila mon problème , après de multiple essai infructueux je n'arrive pas a obtenir le graphique souhaité sur excel 2010 ,je me suis donc rabattu sur le VBA, mon but est d'ajouter environ 2000 séries sur un graphe , chacune des séries ayant comme caractéristique la 1ere case d'une colonne comme nom et les 260 case en dessous comme données , mon gros problème est que je ne sait pas comment incrémenter les colonnes  pour qu'elle se décale  a chaque fois ( je commence a D1:D261 jusuqe a BYC1:BYC261 ) :D Merci de votre aide . ;)


Message édité par rat_de_labo le 17-07-2013 à 14:47:54
Reply

Marsh Posté le 16-07-2013 à 16:47:44   

Reply

Marsh Posté le 16-07-2013 à 18:26:37    

 
           Bonjour,
 
           juste pour info, le VBA étant intégré à Excel, il ne peut donc pas faire plus qu'Excel lui-même ‼ …
 
 
           Ensuite en cas de réussite directement sous Excel pour une colonne,
           reproduire alors les mêmes manipulations tout en utilisant l'Enregistreur de macros,
           donnant enfin une base de code sur laquelle on pourrait tenter de vous apporter de l'aide …
 

Reply

Marsh Posté le 17-07-2013 à 09:22:04    

Merci Marc L, je me rend compte que je me suis mal exprimé , j'arrive tout a fait a ajouter une colonne comme série mais seulement 1 à la fois , et je ne peut me permettre d'en faire 2000 à la main , c'est pour cela que le VBA m'a semblé une bonne solution , si je savait comment incrémenté les colonne il me suffirait de faire une simple boucle for  ... next :D  
Voici il me semble la macro que tu m'as demandé  
 
Sub Macro5()
'
' Macro5 Macro
'
 
'
    ActiveSheet.ChartObjects("Graphique 11" ).Activate
    ActiveChart.SeriesCollection(1).Select
    ActiveChart.SeriesCollection.NewSeries
    ActiveChart.SeriesCollection(2).Name = "=Feuil2!$C$1"
    ActiveChart.SeriesCollection(2).Values = "=Feuil2!$C$2:$C$266"
End Sub
 

Reply

Marsh Posté le 17-07-2013 à 11:49:34    

 
           Je ne comprends pas pourquoi le code commence à la deuxième série, à quoi sert la première ? …
           Mais bon, en conservant cette base :

Code :
  1. Sub Macro5()
  2.     ActiveSheet.ChartObjects("Graphique 11" ).Activate
  3. '    ActiveChart.SeriesCollection(1).Select
  4.     For Col = 3 To Cells(1, Columns.Count).End(xlToLeft).Column
  5.         If Col - 1 > ActiveChart.SeriesCollection.Count Then Set Sr = ActiveChart.SeriesCollection.NewSeries _
  6.                                                         Else Set Sr = ActiveChart.SeriesCollection(Col - 1)
  7.           Sr.Name = "=Feuil2!" & Cells(1, Col).Address
  8.         Sr.Values = "=Feuil2!" & Range(Cells(2, Col), Cells(266, Col)).Address
  9.     Next
  10. End Sub


           Pour la dernière colonne de la boucle de la ligne n°5, comme je n'ai pas là sous le coude une version 2007 ou supérieure
           pour voir quel est le n° de la colonne BYC, j'ai opté pour la dernière colonne saisie de la ligne n°1.     Sinon à adapter …
 

Reply

Marsh Posté le 17-07-2013 à 14:42:45    

Un grand merci a toi Marc L tu m'as été d'une grande aide , tou roule mega bien sur des mega roulette maintenant :D  
bonne continuation ;)

Reply

Sujets relatifs:

Leave a Replay

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