Copie par macro de graphiques

  • Initiateur de la discussion Elsa
  • Date de début
E

Elsa

Guest
Bonsoir le forum

Je travail sur un fichier excel ou des graphiques sont envoyés par macro sur un document word.

Le problème c'est que les graphiques sont copiés en tant qu'objet excel sur des signets du doc word (en gros le fichier excel entier est copié au lieu des simples graphiques)

je vous laisse imaginer la taille du fichier

je suis obligé à la main de couper les graphiques et de les coller en mode point

j'ai bien essayé de coller directement les graphiques en mode point sur les signets word mais impossible, ils ne se mettent pas en place, ils se positionnent tout en haut du document en se superposant

extrait de mon code :

ActiveSheet.ChartObjects('Graphique 415').Activate
ActiveChart.ChartArea.Select
ActiveChart.ChartArea.Copy
WordDoc.Bookmarks('cad12').Range.Paste

Si quelqu'un a une idée , merci d'avance

Elsa
 
M

Mytå

Guest
Salut Elsa et le forum

Une procédure complète avec commentaires

Code:
Sub Graphique_Excel_Word()

Dim mobj As Object, fdoc As String

fdoc = 'excel_word.doc'

' Copier le graphique de la feuille Feuil1 '

Worksheets('feuil1').ChartObjects('Graphique 1').Activate
ActiveChart.ChartArea.Select
ActiveChart.ChartArea.Copy

' Créer un objet Word et un nouveau document '

Set mobj = CreateObject('word.application')
mobj.Visible = True

' Créer un nouveau document dans Word '
Set ndoc = mobj.documents.Add


' Ecrire dans le nouveau document et y coller un graphique '
' issu d'Excel via le Presse-papiers '

With mobj

' Ecrire dans Word '
.Selection.TypeText Text:='Voici le graphique demandé par Monsieur Untel' & vbCrLf & vbCrLf

' Coller le graphique '
.Selection.Paste

' Changer de Dossier '
.ChangeFileOpenDirectory 'C:\\'

' Enregistrer le document Word '
.ActiveDocument.SaveAs Filename:=fdoc, FileFormat:=wdFormatDocument

End With

mobj.Quit ' Quitter Word '

Set mobj = Nothing ' Libérer la mém. allouée à mobj '

End Sub

Myta
 
E

Elsa

Guest
Merci bcp pour ta procédure Myta mais mon pb est toujours la... : dans le document word, c'est le document excel en entier qui est présent, et non pas une image du graphique (plus légere)
(en mode point par exemple)

Elsa
 
M

Mytå

Guest
Re le forum,

Elsa pour envoyer des graphiques en mode image,
de Excel vers Word sans être alourdir le fichier
Word essaye le code suivant.

Code:
' Copier le graphique de la feuille Feuil1 '
    
ActiveSheet.ChartObjects('Graphique 1').Activate
ActiveChart.ChartArea.Select
ActiveChart.CopyPicture _
Appearance:=xlPrinter, _
Size:=xlScreen, _
Format:=xlPicture

Myta
 

Discussions similaires

Réponses
36
Affichages
2 K

Statistiques des forums

Discussions
312 489
Messages
2 088 852
Membres
103 974
dernier inscrit
chmikha