OVH Cloud OVH Cloud

Export Automation Error

1 réponse
Avatar
Bernard Bourée
J'ai le code suivant:
Dim NomImage As String
NomFichierImage = "Test" & ".gif"
Activechart.Export Filename:=NomFichierImage, FilterName:="GIF"

La troisième ligne me donne une erreur d'Automation

qui y a t il de faut?

Merci .
Bernard

=====================================
Le code complet est cidessous
Charts.Add
With ActiveChart
.ChartType = xlLineMarkers
For ir = 1 To nr
ReDim ValY(nv) As Double
ValY = GetValY(ValYs, ir)
.SeriesCollection.NewSeries
With .SeriesCollection(ir)
.Values = ValY
.XValues = ValX
.Name = LibY(ir)
End With
Next

.HasTitle = True
.ChartTitle.Characters.Text = Titre
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = LibAxeX
.Axes(xlValue, xlPrimary).HasTitle = False
'TODO Traiter le cas où les unités des Résultats ne sont pas
'au même format
.Axes(xlCategory).TickLabels.NumberFormat = FormatAxeY(1)
.Axes(xlValue).TickLabels.NumberFormat = FormatAxeX
.Location Where:=xlLocationAsObject, Name:="Graphiques"
'Sauvegarde du graphique
Dim NomFichierImage As String
Dim NomImage As String
NomFichierImage = ThisWorkbook.Path & "\" & Titre & ".gif"
NomFichierImage = "Test" & ".gif"
.Export Filename:=NomFichierImage, FilterName:="GIF"

1 réponse

Avatar
michdenis
*******Graphe dans la feuille de calcul************

Si tu as un graphe dans une feuille de calcul, tu peux utiliser
le code suivant pour transformer ce dernier en image et
l'exporter vers un répertoire de ton choix de l'arborescence
de l'explorateur Windows

'-------------------------
Dim Graphe As Chart
Set Graphe = Feuil1.ChartObjects(1).Chart

With Graphe
.Export "C:MonGraphe.gif", "GIF"
End With
'-------------------------

Feuil1 -> Ce n'est pas le nom de l'onglet de la feuille mais la valeur
de la propriété "Name" de l'objet que tu peux lire à partir
de la fenêtre VBAProject de l'éditeur de code VBA.

Tu peux remplacer l'index "1" de chartobjects par le nom de ton graphe
si tu préfères.


**********Graphe comme onglet dans le classeur************

Admettons que ton graphe soit une feuille graphique, voici un exemple
de code équivalent au code suggéré précédent.

'-----------------------------
Dim MonGraphe As Chart
Set MonGraphe = ThisWorkbook.Charts("graph2")
With MonGraphe
.Export "C:MonGraphe1.gif", "GIF"
End With
'-----------------------------

graph2 -> Nom de l'onglet de ta feuille graphique de ton classeur
Pour l'exporter, nul besoin de sélectionner l'onglet.


P.S. Ne compte pas sur AnonymousA pour un supplément d'informations, il m'a fait
parvenir un courriel disant qu'il devait relire quelques traités de pédagogie aujourd'hui.
;-))

On peut rire un peu sur ce forum !!!




"Bernard Bourée" a écrit dans le message de news:
%
J'ai le code suivant:
Dim NomImage As String
NomFichierImage = "Test" & ".gif"
Activechart.Export Filename:=NomFichierImage, FilterName:="GIF"

La troisième ligne me donne une erreur d'Automation

qui y a t il de faut?

Merci .
Bernard

==================================== Le code complet est cidessous
Charts.Add
With ActiveChart
.ChartType = xlLineMarkers
For ir = 1 To nr
ReDim ValY(nv) As Double
ValY = GetValY(ValYs, ir)
.SeriesCollection.NewSeries
With .SeriesCollection(ir)
.Values = ValY
.XValues = ValX
.Name = LibY(ir)
End With
Next

.HasTitle = True
.ChartTitle.Characters.Text = Titre
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = LibAxeX
.Axes(xlValue, xlPrimary).HasTitle = False
'TODO Traiter le cas où les unités des Résultats ne sont pas
'au même format
.Axes(xlCategory).TickLabels.NumberFormat = FormatAxeY(1)
.Axes(xlValue).TickLabels.NumberFormat = FormatAxeX
.Location Where:=xlLocationAsObject, Name:="Graphiques"
'Sauvegarde du graphique
Dim NomFichierImage As String
Dim NomImage As String
NomFichierImage = ThisWorkbook.Path & "" & Titre & ".gif"
NomFichierImage = "Test" & ".gif"
.Export Filename:=NomFichierImage, FilterName:="GIF"