Créer graphiques par VBA dans la feuille active

Bonjour le forum,

Je cherche à créer toutes les x+22 lignes un graphique. Je cherche une formule qui pourrait :

supprimer tous les anciens graphiques de la page dans un premier temps puis recréer tous les nouveaux.

Je joins le fichier. J'ai mis un graphique qui correspond à ce que je recherche en G24:P43.

1er graphique : ma plage = A2:F22

critères horizontaux : A3:A22

critères verticaux : B2:F2

La note des critère verticaux est notée sur 5 (qui sera le maximum de l'échelle)

Je cherche à afficher comme titre du graphique la cellule qui sera toujours une ligne au-dessus du graphique, pour le 1er graphique :

le titre = A1

Je souhaite placer chaque graphique à côté de chaque tableau de données mais à partir de la colonne G.

Et je cherche à ce que chaque tableau ait la taille 20cm de long et 15cm de haut.

2eme graphique : ma plage : A24:F44

et ainsi de suite jusqu'à mon 20eme graphique.

Merci d'avance à toute personne qui pourrait m'aider.

Cordialement

Bonjour le forum,

J'ai trouvé la solution! Je la poste :

Sub SYNTHESE_FOURNISSEURS_GRAPHIQUES()
Sheets("SYNTHESE_FOURNISSEURS").Select
'supprimer tous les graphiques
Dim Grf As ChartObject
Dim Sh As Worksheet

Set Sh = Sheets("SYNTHESE_FOURNISSEURS")
For Each Grf In Sh.ChartObjects
    Grf.Delete
Next Grf

'créer tous les graphiques
Dim a, i, j, x, k

x = 0
For i = 2 To 1740 Step 22
x = x + 1
a = i - 1
k = i + 1
j = i + 20
    ActiveWindow.ScrollRow = a
    ActiveWindow.ScrollColumn = 1

    Range("A" & i & ":F" & j).Select
    ActiveSheet.Shapes.AddChart2(201, xlColumnClustered).Select
        ActiveChart.SetSourceData Source:=Range(Cells(i, 1), Cells(j, 6))
    ActiveChart.SetElement (msoElementChartTitleNone)
    ActiveChart.SetElement (msoElementChartTitleAboveChart)

    With ActiveChart
    .Parent.Name = "graphique " & x
    End With

    'Range("A" & i).Select
    'Selection.Copy
    ActiveSheet.ChartObjects("graphique " & x).Activate
    ActiveChart.ChartTitle.Characters.Text = Cells(i, 1).Value & " " & Cells(a, 1).Value
    'ActiveChart.Paste
    '    Application.CutCopyMode = False
    'ActiveChart.ChartTitle.Text = "objectif recherché "
    'Range("J29").Select
    'ActiveSheet.ChartObjects("Graphique 1").Activate
    ActiveSheet.ChartObjects("graphique " & x).Activate
    ActiveChart.Axes(xlValue).Select
    ActiveChart.Axes(xlValue).MaximumScale = 5
    ActiveChart.Axes(xlValue).MajorUnit = 1
    'Range("O33").Select
    ActiveSheet.ChartObjects("graphique " & x).Activate
    'ActiveSheet.Shapes("graphique " & x).Height = 141.7322834646
    ActiveSheet.Shapes("graphique " & x).Height = 226.7716535433
    ActiveSheet.Shapes("graphique " & x).Width = 566.9291338583
    'Range("M28").Select
    'ActiveSheet.ChartObjects("Graphique 1").Activate
    ActiveSheet.ChartObjects("graphique " & x).Activate
    'ActiveSheet.Shapes("graphique " & x).IncrementLeft 63.75
    'ActiveSheet.Shapes("graphique " & x).IncrementTop -129.75
    ActiveSheet.ChartObjects("graphique " & x).Left = Range("G" & k).Left
    ActiveSheet.ChartObjects("graphique " & x).Top = Range("G" & k).Top
    'Range("K36").Select

Next i
Range("A1").Select
End Sub

Cordialement

Rechercher des sujets similaires à "creer graphiques vba feuille active"