ActiveChart.Export Filename

Atiom

XLDnaute Occasionnel
Bonsoir le forum

J’utilise les mêmes version Excel, à savoir la 10, sur deux PC différents, un à la maison et au autre au travail.

J’ai une UserForm que affiche un graphique, avec le code ci-dessous.
(Grand merci à pierrejean pour ce code )

Code:
Sub Graph(parc As Boolean, quantite As Boolean)
 For n = 1 To ActiveSheet.Shapes.Count
   ActiveSheet.Shapes(n).Delete
 Next n
If parc Then
    col = "C"
  Else
    col = "B"
End If
If quantite Then
 lab = xlDataLabelsShowValue
Else
 lab = xlDataLabelsShowPercent
End If
    Sheets("DETAIL_COMMANDES").Range(col & "10:" & col & Sheets("DETAIL_COMMANDES").Range("B65536").End(xlUp).Row).Copy Destination:=ActiveSheet.Range("A1")
    Sheets("DETAIL_COMMANDES").Range("F10:F" & Sheets("DETAIL_COMMANDES").Range("F65536").End(xlUp).Row).Copy Destination:=ActiveSheet.Range("B1")
    Call regroup
    derlin = ActiveSheet.Range("A65536").End(xlUp).Row
    Charts.Add
    ActiveChart.ChartType = xl3DPieExploded
    ActiveChart.SetSourceData Source:=Sheets("GRAPHIQUES").Range("A1:B" & derlin), PlotBy:=xlColumns
    ActiveChart.Location Where:=xlLocationAsObject, Name:="GRAPHIQUES"
    ActiveChart.HasLegend = True
    ActiveChart.Legend.Position = xlBottom
    ActiveChart.ApplyDataLabels Type:=lab, LegendKey:=False, HasLeaderLines:=True
    ActiveChart.PlotArea.ClearFormats
    ActiveChart.ChartTitle.Characters.Text = "Cde du " & Date & Chr(10) & " QUANTITÉ "
    fichier = ActiveWorkbook.Path & "\" & "graphe.gif"
    ActiveChart.Export Filename:=fichier, FilterName:="GIF"
End Sub

Mon problème est que dans un PC tout fonctionne correctement et dans un autre j’ai une erreur dans la dernière ligne :

Et évidement mon graphique ne s’affiche pas.

Est-ce que quelqu’un à une idée d’où peu venir le problème ?

Merci d’avance.
 

Atiom

XLDnaute Occasionnel
Re : ActiveChart.Export Filename

Non je n’ai pas de logiciel photo installé dans ce Pc, donc il m’est impossible de l’enregistrer.

Par contre j’ai ouvert un dossier et j’ai fait un copier coller de l’image graphe.gif.

C’est tout ce que je peu faire ! je ne sais pas si c’est la même chose ?
 

Atiom

XLDnaute Occasionnel
Re : ActiveChart.Export Filename

Je ne sais pas se que tu entent par le nom complet du dossier.

J’ai testé des deux manières :

Si je mets :

Fichier= C:\Documents and Settings\Mes documents\atiom & "\" & "graphe.gif"

Ça donne erreur de compilation

Et si je mets
Fichier= atiom & "\" & "graphe.gif"

Ça donne Erreur d’exécution 1004
 

Atiom

XLDnaute Occasionnel
Re : ActiveChart.Export Filename

Rebonjour

Non Jean-Marie avec les guillemets cela ne fonctionne pas non plus.

Et avec tout ça, je suis encore plus confus !..

Si on résume, et corrigé moi si je dis des bêtises.

Avec la ligne de base :
fichier = ActiveWorkbook.Path & "\" & "graphe.gif"

Ça efface l’image existante, mais ça n’exporte pas la nouvelle image.

Cela dis que mon PC supporte les images, et les chemin sont correctes, puisque l’image graphe.gif est effacé.

Par contre comme la nouvelle image n’est pas générée il est logique que le code plante.

Donc, il s’agit de savoir qu’est que peu empêcher l’exportation des images.
Problème de configuration de la macro d’Excel ou autre configuration dans le PC ?
Franchement je ne sais rien.


Mais la ou je ne comprends vraiment plus rien, c’est avec la deuxième solution proposé par pierrejean.

Fichier= Nomdurepertoire & "\" & "graphe.gif"

Si j’ai bien compris, il n’y a aucune image que est généré.

Dans tous les cas j’ai testé en chargeant le code dans mon deuxième PC.
Et ça fonctionne et je n’ai pas d’image dans les dossiers.

Alors si c’est pas un problème d’exportation d’image, pourquoi j’ai toujours cette erreur 1004.

Enfin je crois qu’il faut arriver à la conclusion que parfois l’informatique n’a rien de logique.

Merci infiniment à tous pour avoir essayer de trouver la solution à mon problème.

Qui c’est un jour on trouveras peut être la cause…
 

pierrejean

XLDnaute Barbatruc
Re : ActiveChart.Export Filename

Re

En reprenant un exemple de Michel XLD relatif aux Chartspace , j'ai avançé un peu vers une solution alternative mais je n'arrive pas a retrouver toutes les caracteristiques du graphique

Si quelqu'un pouvait m'aider a terminer ce serait sympa

Nota: il faut avoir ChartSpace dans la boite a outils des Userform et pour ceux qui ne l'ont pas il faut telecharger owc10.exe , l'installer puis mettre a jour la boite a outils
 

Pièces jointes

  • bidouilledexempleUtilisationChartSpace.xls
    38.5 KB · Affichages: 69

pierrejean

XLDnaute Barbatruc
Re : ActiveChart.Export Filename

Salut a tous

@ Pierrot :)

Je souhaiterais avoir le graphique en 3D avec les labels a l'exterieur (Idem Graph_Atiom.zip page precedente)
De même j'aimerai bien savoir ou pecher la liste des constantes de C (a ce sujet j'ai trouvé, mais je ne sais plus ou ,une indication selon laquelle il n'etait pas recommandé d'utiliser C dans Excel !!!)
 

Pierrot93

XLDnaute Barbatruc
Re : ActiveChart.Export Filename

Bonsoir PierreJean

désolé pour la réponse tardive, mais ce soir je n'arrive pas à faire fonctionner ton fichier, message "projet ou bibliothèque introuvable" alors qu'hier pas de souci.... Et sur un autre fichier cela fonctionne... A n'y rien comprendre...

Pour le type de graphique j'essaierais peut être "chChartTypePieExploded3D", si j'ai bien compris.

Quand au fait de ne pas pouvoir utiliser "C" comme variable dans Excel, rien vu de tel, mais je suis très loin de tout connaitre...

Tu parles des constantes de "C", comprends pas trop, sinon ci dessous extrait de l'aide vba pour la propriété "constants"

Constants, propriété
Voir aussi S'applique à Exemple Spécificités
Renvoie un objet qui permet aux utilisateurs de scripts d'utiliser des constantes nommées. En lecture seule.

Pour plus d'informations, consultez la rubrique Utilisation de constantes nommées dans VBScript.
Cette propriété n'est obligatoire que pour les pages HTML. Pour d'autres conteneurs (tels que Visual Basic), vous pouvez utiliser des constantes définies directement à partir du modèle d'objet, sans utiliser au préalable la propriété Constants. L'utilisation de la propriété Constants dans d'autres conteneurs fonctionne mais n'est pas recommandée, dans la mesure où cela ralentit le code de façon significative.

Encore désolé de ne pouvoir t'aider d'avantage, mais certaines choses m'échappent sur ce sujet.

En te souhaitant une bonne soirée
@+
 

pierrejean

XLDnaute Barbatruc
Re : ActiveChart.Export Filename

Re

Merci Pierrot

chChartTypePieExploded3D n'est pas reconnu en tant que constante

Par ailleurs c'est au code qui suit que je faisais allusion et c'est bien dans l'aide de constants que j'avais vu la derniere phrase

Code:
.....
Set C = ChartSpace1.Constants
......
.SeriesCollection(x).SetData C.chDimValues, C.chDataLiteral, Plage
......

Bonne soirée a toi
PS: c'etait pour le fun , mais ATIOM n'apprecie pas de devoir telecharger owc10.exe et se contente finalement de voir le graphique dans la feuille "GRAPHIQUES"
 

pierrejean

XLDnaute Barbatruc
Re : ActiveChart.Export Filename

Re

Merci Pierrot :)

chChartTypePieExploded3D n'est pas reconnu en tant que constante

Par ailleurs c'est au code qui suit que je faisais allusion et c'est bien dans l'aide de constants que j'avais vu la derniere phrase

Code:
.....
Set C = ChartSpace1.Constants
......
.SeriesCollection(x).SetData C.chDimValues, C.chDataLiteral, Plage
......

Bonne soirée a toi
PS: c'etait pour le fun , mais ATIOM n'apprecie pas de devoir telecharger owc10.exe et se contente finalement de voir le graphique dans la feuille "GRAPHIQUES"
 

Discussions similaires

Statistiques des forums

Discussions
312 596
Messages
2 090 108
Membres
104 385
dernier inscrit
elnantais_50