Boucle et Graphiques

Fermé
Mathilde - 24 août 2015 à 11:31
 Mathilde - 24 août 2015 à 13:33
Bonjour,

je rencontre un problème concernant les boucles et les graphiques. Alors voilà, j'ai un nombre de fournisseurs qui peut varier. Je récupére le nombre de fournisseur grâce à la variable k. Ensuite j'ai fait une macro qui va me créer k tableaux. Dans mon fichier joint, le nombre de fournisseur est égale à k=7. Donc dans cet exemple j'ai 7 tableaux. Ces 7 tableaux vont rechercher les informations dont j'ai besoin ( cmdé réel,....). Tout ceci est automatique via d'autres onglets que j'ai supprimer pour confidentalité. Ma valeur K est recherchée automatiquement et la création de mes tableaux aussi. Je cherche à faire un graphique pour chaque tableau. Le type de graphique que je souhaite est : en Aire le cmdé et le réceptionné, en courbe la valeur cible. L'exemple de graphe que je souhaite est dans mon fichier ci-joint. Ma macro est dans le module qui se nomme : GraphiqueParFournisseur. J'ai réalisé un premier graphique juste avec le premier tableau. Je vous montre le bout de code :

Sheets("GraphiqueParFournisseur").Activate
Application.ScreenUpdating = False
Dercol = [IV1].End(xlToLeft).Column ' il faut mettre la première ligne du tableau, ici ligne 40
Colonne = Left(Columns(Dercol).Address(ReferenceStyle:=xlA1), InStr(1, Columns(Dercol).Address(ReferenceStyle:=xlA1), Chr(58), 1) - 1)
plageGraphique2 = "A2:" & Colonne & "4,A6:" & Colonne & "6"

ActiveSheet.ChartObjects("Graphique 1").Activate
ActiveChart.SetSourceData Source:=Range(plageGraphique2)
ActiveChart.ChartType = xlArea
ActiveChart.SeriesCollection(1).Select
ActiveChart.ChartStyle = 2
'ActiveChart.SeriesCollection(1).Name = "Reste à Réceptionner"
ActiveChart.SeriesCollection(2).Select
ActiveChart.ChartStyle = 2
ActiveChart.SeriesCollection(3).ChartType = xlLine

Comment faire en sorte que k graphiques se crééent. Et que ma plage de données (plageGraphique2 ainsi que Dercol se décale) de 8 cellules à chaque boucle.

FICHIER:http://www.cjoint.com/c/EHyjEzCUiJ1

Merci d'avance!

1 réponse

Zoul67 Messages postés 1959 Date d'inscription lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 149
24 août 2015 à 12:14
Bonjour,

Avoir un Graphique qui s'appelle Graphique 1 et ses données associées plageGraphique2, ça commençait mal...
Une proposition :
Sub GraphiqueAires()

    Sheets("GraphiqueParFournisseur").Activate
    For Each g In ActiveSheet.ChartObjects
        g.Delete
    Next g
    
    Application.ScreenUpdating = False
    k = 0
    Dercol = [IV1].End(xlToLeft).Column
    While Cells(2 + k * 8, 1).Value <> ""
        Set plageC = Union(Range(Cells(2 + 8 * k, 1), Cells(4 + 8 * k, Dercol)), Range(Cells(6 + 8 * k, 1), Cells(6 + 8 * k, Dercol)))
        Dim c As ChartObject
        Set c = ActiveSheet.ChartObjects.Add(10, 20, 200, 200)
        With c.Chart
            .SetSourceData Source:=plageC 'Range("A2:AW4,A6:AW6")
            .ChartType = xlArea
            .SeriesCollection(1).Select
            .ChartStyle = 2
            .SeriesCollection(2).Select
            .ChartStyle = 2
            .SeriesCollection(3).ChartType = xlLine
        End With

        ' Couleurs
        With ActiveChart.SeriesCollection(1)
            .Interior.Color = RGB(255, 160, 47)
        End With
        With ActiveChart.SeriesCollection(2)
            .Interior.Color = RGB(254, 88, 21)
        End With
        With ActiveChart.SeriesCollection(3)
            .Border.Color = RGB(80, 158, 47)
        End With

        k = k + 1
    Wend

End Sub


A+
0
Bonjour,

oui je sais, j'avais ce code pour un autre graphique unique. Je sais bien que ca ne peut pas fonctionner avec plageGraphique2 et graphique1 en nom. Je voulais juste de l'aide et un bout de code qui ressemblait un peu à ce que j'avais.
En tout cas c'est exactement ça que je recherchais. Merci beaucoup.

Bonne journée!
0
Juste deux petites questions.
Est ce que c'est possible de les placer les uns en dessous des autres, avec la même taille?
Et est ce que c'est possible de nommer mes graphique en fonctions du nom du fournisseur? Par exemple pour mon premier tableau le fournisseur c'est : GFI INFORMATIQUE dans la cellule A2. Est ce que c'est possible que mon graphique de ce tableau se nomme "GFI INFORMATIQUE"?

Merci d'avance, bonne journée!
0
Zoul67 Messages postés 1959 Date d'inscription lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 149
24 août 2015 à 13:20
0
Merci beaucoup pour la rapidité de vos réponses et pour l'aide que vous m'avez apportée!
Bonne journée.
0