Une question que j'avais soulevé mais qui n'a pas trouvé de réponse :
comment est il possible d'exporter des graphique simultanément ? i.e comment créer une feuille .jpeg avec 4 graphiques au lieu d'un ?
Merci
Une question que j'avais soulevé mais qui n'a pas trouvé de réponse :
comment est il possible d'exporter des graphique simultanément ? i.e comment créer une feuille .jpeg avec 4 graphiques au lieu d'un ?
Merci
Bonjour,
pas étonnant que tu n'a pas eu de réponse, les explications que tu donnent ne sont pas fort explicit.
i.e c'est internet explorer ?? i.e comment créer une feuille .jpeg avec 4 graphiques au lieu d'un ?
D'après ta question il semblerait que tu sais comment faire pour 1 ?
pour en copier 4, tu peu les sélectionnés ensemble avec (ex pour 2)
A+
Code : Sélectionner tout - Visualiser dans une fenêtre à part ActiveSheet.Shapes.Range(Array("Chart 1", "Chart 2")).Select
Non i.e signifie in extenso...
Je recommence l'explication : je sais exporter un graphique (il y a une fonction toute bête pour cela) mais cette fonction crée 1 fichier jpeg avec 1 graphique. Je voudrais créer 1 fichier jpeg avec 4 graphiques.
bonsoir
j'espère que cet exemple pourra t'aider
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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 Option Explicit Private Const Fichier As String = "C:\ImageTemp.gif" Sub ExporteGIF_GroupeGraphiques() Dim Sh As Shape Dim Tableau(1 To 4) As String Dim i As Integer, Nb As Integer 'Supprime l'image temporaire si elle existe If Dir(Fichier) <> "" Then Kill Fichier 'Boucle sur les 4 premiers graphiques de la feuille active For i = 1 To 4 Tableau(i) = ActiveSheet.ChartObjects(i).Name Next 'Regroupe les graphiques Set Sh = ActiveSheet.Shapes.Range(Tableau).Group 'copie la forme Sh.CopyPicture 'crée un graphique With ActiveSheet.ChartObjects.Add(0, 0, _ Sh.Width, Sh.Height).Chart .Paste 'colle l'image dans graphique ' enregistre le graphique au format gif .Export Fichier, "GIF" End With Nb = ActiveSheet.ChartObjects.Count 'supprime le graphique ActiveSheet.ChartObjects(Nb).Delete Sh.Ungroup End Sub
bonne soirée
michel
ça à l'air de bien correspondre mais j'ai un problème d'execution de ton code :
Set Sh = ActiveSheet.Shapes.Range(Tableau).Group
il m'annonce que "ce paramètre n'a pas une valeur valide".
Je ne sais pas trop ce que ça signifie...
Par ailleurs j'arrive pas à comprendre pourquoi, mais apparemment i a atteint la valeur 5...
Je n'arrive pas à savoir que est l'action exacte de .Group, l'aide n'est pas des pllus lumineuse...
Merci pour ton aide !
Bonjour,
Hum, comme cela m'interresse également j'ai testé... et, la même erreur.
C'est un problème de langue..
Autre test..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 'Boucle sur les 4 premiers graphiques de la feuille active For i = 1 To 4 Tableau(i) = ActiveSheet.ChartObjects(i).Name 'avec l'essai = "Chart5", "Chart6" etc.. Next 'Et en macro... ActiveSheet.ChartObjects("Graphique 5").Activate ActiveSheet.ChartObjects("Graphique 6").Activate 'et aussi.. ActiveSheet.ChartObjects("Graphique 5").Select a$ = Selection.Name ' = Chart5
Probablement l'origine du problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 'C'est exemple fonctionne ActiveSheet.ChartObjects("Graphique 5").Activate ActiveChart.PlotArea.Select ActiveChart.ChartArea.Select 'C'est exemple des fois ca marche et des fois erreur 1004 ?? ActiveSheet.ChartObjects("Graphique 5").select a$ = Selection.Name ActiveSheet.ChartObjects(a$).Activate ActiveChart.PlotArea.Select ActiveChart.ChartArea.Select
A+
bonsoir
Je n'ai pas rencontré de soucis sur mon poste (Excel2007)Set Sh = ActiveSheet.Shapes.Range(Tableau).Group
il m'annonce que "ce paramètre n'a pas une valeur valide".
C'est normal lorsque tu termines ta bouclePar ailleurs j'arrive pas à comprendre pourquoi, mais apparemment i a atteint la valeur 5...
Permet de regrouper plusieurs formes (tes graphiques) avant de les exporter au format image.Je n'arrive pas à savoir que est l'action exacte de .Group,
bonne soirée
michel
Partager