Bonjour David,
je me suis inscrit sur ce site parce que je bloque sur une macro je cherche a positionner plusieurs graphique sur une même plage de donnée mais sur des ligne différente mais sa bloque pourrait tu m'aider ? voici monde :
Dim d As Double, a As Double, j As Double
d = ActiveWorkbook.Worksheets("Feuil1").Range("c1048576").End(xlUp).Row ' derniere cellule non vide de la colonne c
j = 3
While j <= d
Application.ScreenUpdating = False
Application.DisplayAlerts = False
'Range ("B" & v & ":R" & z)
'Range("B2:r2,b5:r6")
Charts.Add
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=Sheets("Feuil1").Range("B" & j & ":R" & j + 1), PlotBy _
:=xlRows
ActiveChart.ChartType = xlLine
' ActiveChart.Location Where:=xlLocationAsNewSheet 'Si tu veux le graphique sur une feuille Graphique
ActiveChart.Location Where:=xlLocationAsObject, Name:="Feuil1" '* "Feuil1" = 6 caractères. Sur la feuille
With ActiveChart 'Pour le nom
Graph1 = Right(.Name, Len(.Name) - 6) '* 6 caractères
End With
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = Range("$a" & j)
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
End With
Dim xRg As Range
Dim xChart As ChartObject
Set xRg = Range("S" & j & ":X" & j + 1)
Set xChart = ActiveSheet.ChartObjects(Range("$a" & j))
With xChart
.Top = xRg(Range("$a" & j)).Top
.Left = xRg(Range("$a" & j)).Left
.Width = xRg.Width
.Height = xRg.Height
End With
j = j + 2
Wend
End Sub