Private Const EspaceHorizontal As Long = 10
Private Const EspaceVertical As Long = 10
Private Const nbGraphParLigne As Long = 4
Sub test()
Dim graphFr As ChartObject, curGraph As ChartObject, nbGraph As Long, decalLigne As Long, decalCol As Long
Set graphFr = ThisWorkbook.Sheets("Feuil1").ChartObjects("Graphique 1")
nbGraph = 1
With graphFr
For Each curGraph In .Parent.ChartObjects
If curGraph.Name <> .Name Then
nbGraph = nbGraph + 1
decalCol = (nbGraph - 1) Mod nbGraphParLigne
decalLigne = Int((nbGraph - 1) / nbGraphParLigne)
curGraph.Width = .Width
curGraph.Height = .Height
curGraph.Left = decalCol * (.Width + EspaceHorizontal) + .Left
curGraph.Top = decalLigne * (.Height + EspaceVertical) + .Top
End If
Next curGraph
End With
End Sub