Bonjour,
Dans un Worksheet, j'ai créé 2 graphiques, et je les groupe.
Je souhaite coller le shape groupé dans un gaph pour exporter l'image du Graph.
=> le but : avoir une image des 2 graphs groupés.
Tout ça fonctionne, sur l'onglet, les 2 graphs sont bien groupés un seul shape.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Dim XL_Shape As Excel.Shape Dim XL_Shape_Grp As Excel.Shape Dim XL_Shape_Array As Object() 'Grouper les 2 Graphiques ReDim XL_Shape_Array(XL_WS.Shapes.Count - 1) For Each XL_Shape In XL_WS.Shapes XL_Shape_Array(i) = XL_Shape.Name i = i + 1 Next XL_Shape_Grp = XL_WS.Shapes.Range(XL_Shape_Array).Group() XL_Shape_Grp.Name = "Graph_Grp" XL_Shape_Grp.Copy()
Le graph est ben créé, l'image est bien générée sauf que les 2 sont blancs.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 'créer image G_Image = My.Settings.Cible1 & "\Admin\" & "Graph_2.gif" XL_Chart_Obj = XL_Charts_Obj.Add(0, 0, XL_Shape_Grp.Width, XL_Shape_Grp.Height) XL_Chart = XL_Chart_Obj.Chart XL_Chart.Location(Excel.XlChartLocation.xlLocationAsObject, XL_WS.Name) With XL_Chart .ChartArea.Select() .Paste() .ChartArea.Border.LineStyle = 0 On Error Resume Next XL_Chart.Activate() .Export(Filename:=G_Image, FilterName:="GIF") On Error GoTo 0 End With(je précise que le Graph créé et l'image enregistré sont bien à la bonne taille du shape)
je pense que le .paste dans le .ChartArea.Select() ne fonctionne pas.
Le code ne génère pas d'erreur.
Est-ce que quelqu'un sait comment coller un shape dans un ChartArea?
(je précise, ça vaut ce que ça vaut, que je fais cette technique sur VBA et que cela fonctionne parfaitement).
D'avance merci pour votre aide, car depuis 2j je deviens dingue![]()
Partager