![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Membre actif
![]() Date d'inscription: avril 2006
Localisation: Bruxelles
Messages: 171
|
Bonjour à tous,
j'aimerais exporter 4 graphiques en une seul image, miracle j'ai trouvé exactement le code qu'il me falait dans les Faqs, mais il y a une erreur ... J'ai 4 graphiques à exporter sur la "Feuil2" Code :
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
__________________
![]()
|
|
|
|
|
|
#2 (permalink) | ||
|
Membre actif
![]() Date d'inscription: avril 2006
Localisation: Bruxelles
Messages: 171
|
Sans doute parceque l'erreur est :
Citation:
Citation:
__________________
![]()
|
||
|
|
|
|
|
#3 (permalink) |
![]() Date d'inscription: février 2008
Localisation: Bxl
Âge: 45
Messages: 2 667
|
Merci d'avoir précisé l'erreur
J'ai ramé sur ce code...je suis parvenu à le faire fonctionner en changeant la déclaration de la variable Tableau de type Variant au lieu de type String Code :
Dim Tableau(1 To 4) As Variant
__________________
LES FAQ OFFICE - LES COURS OFFICE - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA Prenez quelques secondes pour lire ceci : Aide sur l'utilisation des boutons du forum Hormis pour me demander mon numéro de compte afin d'y effectuer un versement, évitez de m'envoyer vos questions par MP, merci d'avance En posant une question on risque d'avoir l'air idiot cinq minutes. En n'en posant pas, on risque de le rester toute sa vie (proverbe chinois) |
|
|
|
|
|
#4 (permalink) |
|
Membre actif
![]() Date d'inscription: avril 2006
Localisation: Bruxelles
Messages: 171
|
Est-il possible, lors de l'enregistrement de l'image d'avoir l'invite 'Enregistrer sous ...', afin de pouvoir choisir le nom et l'endroit où on veut enregistrer l'image ainsi créé ?
__________________
![]()
|
|
|
|
|
|
#5 (permalink) |
![]() Date d'inscription: février 2008
Localisation: Bxl
Âge: 45
Messages: 2 667
|
Un truc de ce style ? (remplace le code initial par celui-ci)
Code :
Option Explicit Sub ExporteGIF_GroupeGraphiques() Dim Fichier As Variant, Tableau(1 To 4) As Variant Dim Sh As Shape, i As Integer, Nb As Integer '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 Fichier = Application.GetSaveAsFilename(fileFilter:="Fichier Image (*.gif), *.gif") If Fichier = False Then MsgBox "vous avez annulé l'opération" & Chr(10) & "l'image ne sera pas exportée" Else .Export Fichier, "GIF" End If End With Nb = ActiveSheet.ChartObjects.Count 'supprime le graphique ActiveSheet.ChartObjects(Nb).Delete Sh.Ungroup End Sub
__________________
LES FAQ OFFICE - LES COURS OFFICE - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA Prenez quelques secondes pour lire ceci : Aide sur l'utilisation des boutons du forum Hormis pour me demander mon numéro de compte afin d'y effectuer un versement, évitez de m'envoyer vos questions par MP, merci d'avance En posant une question on risque d'avoir l'air idiot cinq minutes. En n'en posant pas, on risque de le rester toute sa vie (proverbe chinois) Dernière modification par fring ; 26/08/2008 à 22h17 |
|
|
|
|
|
#7 (permalink) |
![]() Date d'inscription: février 2008
Localisation: Bxl
Âge: 45
Messages: 2 667
|
Si c'est toujours d'actualité
...une solution via une zone de texte dans le fichier joint.test graph.zip .
__________________
LES FAQ OFFICE - LES COURS OFFICE - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA Prenez quelques secondes pour lire ceci : Aide sur l'utilisation des boutons du forum Hormis pour me demander mon numéro de compte afin d'y effectuer un versement, évitez de m'envoyer vos questions par MP, merci d'avance En posant une question on risque d'avoir l'air idiot cinq minutes. En n'en posant pas, on risque de le rester toute sa vie (proverbe chinois) |
|
|
|
![]() |
![]() |
||
Exporter graphique vers image
|
||
Offres d'
emploi informatique
sur Lesjeudis.com
|
| Outils de la discussion | |
|
|