Macro pour boucle pour faire graphiques excel

dracir

XLDnaute Nouveau
Bonjour,
je débute en macro et suis nouveau sur le forum,
voila mon problème:
qui je pense n'est vraiment pas compliqué, mais je bloque
Alors je viens vers vous vous demander de l'aide svp!

Je souhaiterai à partir du fichier joint
réaliser des graphiques à partir des tableaux qui se trouvent en série les uns au dessous des autres,
Avec si possible le titre du graphique relatif aux différents tableaux ( valeur dans la première colonne)
-voir graphique exemple-
Les tableaux ont toujours la même forme, avec une seule ligne de séparation.
Par avance merci!
 

Pièces jointes

  • essai_macro_graph.xls
    20 KB · Affichages: 89

porcinet82

XLDnaute Barbatruc
Re : Macro pour boucle pour faire graphiques excel

Hello,

Il y a peut être plus propre mais je te propose ceci :
Code:
Sub test()
Dim i&

Application.ScreenUpdating = False
For i = 15 To Range("A65536").End(xlUp).Row Step 14
    With Sheets("Feuil1")
        .ChartObjects("Chart 1").Activate
        ActiveChart.ChartArea.Copy
        .Range("I" & i).Select
        .Paste
    End With
    With ActiveChart
        .SeriesCollection(1).Values = "='Feuil1'!" & Range("C" & i + 1 & ":C" & i + 12).Address
        .SeriesCollection(1).Name = Cells(i, 2).Value
        .SeriesCollection(2).Values = "='Feuil1'!" & Range("D" & i + 1 & ":D" & i + 12).Address
        .SeriesCollection(2).Name = Cells(i, 3).Value
        .SeriesCollection(3).Values = "='Feuil1'!" & Range("E" & i + 1 & ":E" & i + 12).Address
        .SeriesCollection(3).Name = Cells(i, 4).Value
        .SeriesCollection(4).Values = "='Feuil1'!" & Range("F" & i + 1 & ":F" & i + 12).Address
        .SeriesCollection(4).Name = Cells(i, 5).Value
        .SeriesCollection(4).Values = "='Feuil1'!" & Range("G" & i + 1 & ":G" & i + 12).Address
        .SeriesCollection(5).Name = Cells(i, 6).Value
        .ChartTitle.Text = Cells(i + 1, 1).Value
    End With
Next i
Application.ScreenUpdating = True
End Sub

En fait l'idée est de repartir du premier graphique au tu as fait et de faire des copiés/collés en ne modifiant que les séries et le titre.
Tu peux aussi faire un code qui créé un graphe à partir de rien, mais puisque le premier était fait, j'ai joué la facilité.

@+
 
Dernière édition:

dracir

XLDnaute Nouveau
Re : Macro pour boucle pour faire graphiques excel

Merci pour vos réponses !

Merci Efgé!
Ca fonctionne très bien,par contre comment as tu fait ?
Car j'aimerai pouvoir reproduire cela pour d'autress données ?

A porcinet82, merci beaucoup,
mais malheureusement quand je lance la macro j'ai "erreur d'execution 1004: impossible de définir la propriété Values de la classe Series
et ça me "renvoie" à:

>>>> .SeriesCollection(1).Values = "='Feuil1'!" & Range("C" & i + 1 & ":C" & i + 12).Address

Dommage car ta solution m'aurait permis de voir tous mes graph en même temps!
 

dracir

XLDnaute Nouveau
Re : Macro pour boucle pour faire graphiques excel

Oui avec le fichier exemple,
En faite quand je lance la macro, en même temps que j'ai le message d'erreur, j'ai le premier graphique à partir du premier tableau qui se fabrique et puis c'est tout,
 

Efgé

XLDnaute Barbatruc
Re : Macro pour boucle pour faire graphiques excel

Re
Sur l'idée de porcinet82, peut être peut-on ne pas valider chaque série mais définir la plage de données source en une foi:

VB:
Sub test()
Dim i&
Application.ScreenUpdating = False
With Sheets("Feuil1")
    For i = .ChartObjects.Count To 2 Step -1
        .ChartObjects(i).Delete
    Next i
    .ChartObjects(1).Copy
    For i = 15 To .Cells(Rows.Count, 1).End(xlUp).Row Step 14
        .Range("H" & i).Select
        .Paste
        ActiveChart.SetSourceData Source:=.Range("B" & i & ":G" & i + 12)
        ActiveChart.ChartTitle.Text = Cells(i + 1, 1).Value
    Next i
End With
Application.ScreenUpdating = True
End Sub

Il est bien évidentt que la feuille doit comporter un graphique qui sert de modèle.

Cordialement
 

Efgé

XLDnaute Barbatruc
Re : Macro pour boucle pour faire graphiques excel

Re
En fait, il y a quand même , parfois, un plantage....
Impossible de comprendre pourquoi. Peut être cela vient-il du graphique modèle.
Je cherche et ne trouve points... :)
Cordialement
 

Efgé

XLDnaute Barbatruc
Re : Macro pour boucle pour faire graphiques excel

Re
Peut être une piste:
A chaque création d'un graph, le compteur interne du classeur s'incrémente. Au bout de moultes essais, comme on en crée une petite dixaine à chaque foi, on peut arriver à "Graphique 325" par exemple.
Ce compteur, n'est-il pas limité ?
Si on copie la feuille vers un nouveau classeur, le compteur est réinitialisé et on peux recommencer un bon bout de temps avant un nouveau plantage.
Ce n'est qu'une idée, Si quelqu'un connait le secret.....
Cordialement
 

Pièces jointes

  • graph_Test(4).xls
    37.5 KB · Affichages: 77

Discussions similaires

Réponses
16
Affichages
732