Faire un copier-coller depuis Excel vers Word via une macro ?
Adoc5
Messages postés53Date d'inscriptionlundi 3 mai 2004StatutMembreDernière intervention 1 octobre 2007
-
3 mai 2004 à 09:15
bencharqui
Messages postés2Date d'inscriptionjeudi 24 juin 2004StatutMembreDernière intervention 4 juillet 2005
-
4 juil. 2005 à 15:37
Bonjour à tous et à toutes,
Je débute sous VB donc ma question pourra peut-être vous sembler ridicule mais bon...
J'aimerai savoir comment on peut faire sous excel une macro qui va réaliser un copier-coller d'un graphe depuis Excel vers Word.
Merci d'avance à celui ou à celle qui pourra m'aider.
@+
HFanny
Messages postés699Date d'inscriptionmercredi 19 février 2003StatutMembreDernière intervention13 mai 201120 3 mai 2004 à 09:38
Bonjour,
Pour ce faire, il faut dans un premier temps
cocher dans Outils->Références la librairie Microsoft Word
Puis il faut que tu ouvres Word ainsi que ton document, que tu copies ton graphe Excel (grâce à son nom), et le coller dans Word :
'Déclaration des variables
Dim DocWord As word.Document
Dim AppWord As word.Application
Set AppWord = New word.Application
'Ouvre le document Word
Set DocWord = AppWord.Documents.Open("d:\user\essai.doc", ReadOnly:=False)
'Création du graphique et sa copie
'Ne prends que la copie :)
Charts.Add
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=Sheets("Feuil1").Range("A1:B6")
ActiveChart.Location Where:=xlLocationAsObject, Name:="Feuil1"
ActiveChart.Axes(xlValue).MajorGridlines.Select
ActiveChart.ChartArea.Select
ActiveWindow.Visible = False
Windows("Classeur1").Activate
'ICI tu copies ton graphe
ActiveSheet.ChartObjects("Graphique 1").Copy
'Désactivation des messages d'alerte
Application.DisplayAlerts = True
AppWord.ShowMe
AppWord.Visible = True
'Collage du graphe dans Word
DocWord.Range.PasteSpecial
Application.CutCopyMode = False
'Sauvegarde du document Word
DocWord.Application.ActiveDocument.Save
AppWord.Application.Quit
Adoc5
Messages postés53Date d'inscriptionlundi 3 mai 2004StatutMembreDernière intervention 1 octobre 20071 3 mai 2004 à 10:43
Merci beaucoup Fanny,
J'ai essayé et ça marche jusqu'à DocWord.Range.PasteSpecial. A partir de là ça plante.
Quand tu écris "cocher dans Outils->Références la librairie Microsoft Word", je n'ai pas trouvé à quoi ça correspondait. Dois-je le faire dans Excel ? (J'ai une version américaine, ceci peut avoir un impact sur le code généré par VB...?)
Merci d'avance.
@+
:)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Adoc5
Messages postés53Date d'inscriptionlundi 3 mai 2004StatutMembreDernière intervention 1 octobre 20071 23 juin 2004 à 09:20
Salut Fanny,
Hé oui ça faisait très longtemps...
Le copier-coller fonctionne bien mais le problème est que, dans Word, le graphe est collé sur le texte. Sais-tu comment je pourrai faire pour le coller proprement sous un texte, s'il te plait ?
Adoc5
Messages postés53Date d'inscriptionlundi 3 mai 2004StatutMembreDernière intervention 1 octobre 20071 23 juin 2004 à 09:44
J'y avait pensé mais dès que je génère un nouveau fichier word, la macro permettant de placer correctement le graphe disparait. Je ne sais pas comment sauvegarder cette macro pour qu'elle soit dispo pour n'importe quel fichier Word. Et deuxième chose, à partir d'Excel, je ne sais pas comment appeler une macro word.
C'est vrai que l'idée est bonne mais je suis handicapé par mon manque de connaissances en VBA.