Copier un graphe de Excel a Word
Bonjour le forum.
Comme si bien dit dans le titre, je cherche a copier un graphe depuis Excel dans Word en pilotage word.
Voici mon code et ça fait quelque temps que je bloque dessus en cherchant sur internet avec acharnement mais pas moyen de trouver comment faire :
Il arrive a retrouver le graphe que je veux, ça, ça marche. Mais impossible de le copier / coller à la suite de mon texte dans mon document.
'Ajouter graphe 1 : Utilisation par semaine
For i = Feuille.ChartObjects.Count To 1 Step -1
Feuille.ChartObjects(i).Activate
If ActiveChart.ChartTitle.Text = Feuille.Name & " Utilisation par semaine" Then
With Feuille.ChartObjects(i)
.CopyPicture
End With
WordDoc.Paragraphs.Add
WordDoc.Paragraphs(WordDoc.Paragraphs.Count).Range.Select
Selection.Paste
DoEvents
Exit For
End If
Next iBonjour,
Ecrit plutôt un truc genre :
For Each Graph In Sheets("Feuil1").ChartObjects
If Graph.Name = "Utilisation par semaine" Then
Graph.CopyPicture
WordApp.Selection.EndKey Unit:=6 ' aller à la fin du doc
WordApp.Selection.Paste
End If
Next GraphPierre
Avec la déclaration :
Dim Graph As ChartObjectTon "Graph" est de type Chart ?
Parce que s'il est de type "chart" j'avais déjà essayé et ça fait l'erreur '13' Incompatibilité de type.
Ah pardon. ja'vais pas vu la déclaration.
Je viens de tester ton code et pas de graph en vue. Le code s'execute normalement mais le graph n'est pas présent dans le document.
J'ai fait un test avec un point d'arrêt et apparement il ne passe même pas dans le "if". Ce n'est pas le nom du graph mais son Titre que je recherche. ça marche aussi avec ChartsObject ?
Désolée pour le multi multi multipost.
Du coup j'ai juste repris
WordApp.Selection.EndKey Unit:=6 ' aller à la fin du doc
WordApp.Selection.PasteDans ton code que j'ai ajouté dans le mien :
For i = Feuille.ChartObjects.Count To 1 Step -1
Feuille.ChartObjects(i).Activate
If ActiveChart.ChartTitle.Text = Feuille.Name & " Utilisation par semaine" Then
With Feuille.ChartObjects(i)
.CopyPicture
End With
' WordDoc.Paragraphs.Add
' WordDoc.Paragraphs(WordDoc.Paragraphs.Count).Range.Select
' Selection.Paste
WordApp.Selection.EndKey Unit:=6 ' aller à la fin du doc
WordApp.Selection.Paste
' DoEvents
Exit For
End If
Next iC'est un peu du bricolage mais ça marche correctement