M
Momo
Guest
Bonjour à tous,
J'ai crée un fichier Excel avec des tableaux et des graphiques. J'ai besoin de les importer dans un modèle .dot sous Word et de les placer aux emplacements désirés à l'aide de "signets".
J'ai créé du code sous Excel et sous Word, mais cela est très lourd et consomme beaucoup de ressource et de temps.
Y a t-il plus simple?
Merci par avance pour vos réponses.
Voici le code sous excel:
=================
Sub import()
Dim Temp, canal
MyAppID = Shell("Winword.exe c:\Indicateurs\Rapport.dot", 1)
AppActivate MyAppID
canal = DDEInitiate("Winword", "system")
DDEExecute canal, "[ouvrirIDF()]"
Sheets("1trim").Select
Worksheets("Fiche indic").Range("e7:j15").Copy
DDEExecute canal, "[collerA()]"
Worksheets("Fiche indic").Range("e13:j25").Copy
DDEExecute canal, "[collerA()]"
DDEExecute canal, "[saut()]"
Sheets("Bilan").Select
Worksheets("Bilan").ChartObjects(1).Activate
ActiveChart.ChartArea.Select
ActiveChart.ChartArea.Copy
DDEExecute canal, "[collerA()]"
DDETerminate (canal)
End Sub
Code sous Word:
============
Global dest As Integer 'numéro du signet
------------
Sub ouvrirIDF()
dest = 0
ChangeFileOpenDirectory "c:\indicateurs\"
Documents.Open FileName:="Rapport.dot", _
ConfirmConversions:=False, ReadOnly:=True, AddToRecentFiles:=False, _
PasswordDocument:="", PasswordTemplate:="", Revert:=False, _
WritePasswordDocument:="", WritePasswordTemplate:="", Format:= _
wdOpenFormatAuto
End Sub
----------------
Sub collerA()
dest = dest + 1
WordBasic.WW7_EditGoTo Destination:="a" & dest
Selection.Paste
End Sub
---------------
Sub saut()
Selection.InsertBreak Type:=wdPageBreak
End Sub
--------------
J'ai crée un fichier Excel avec des tableaux et des graphiques. J'ai besoin de les importer dans un modèle .dot sous Word et de les placer aux emplacements désirés à l'aide de "signets".
J'ai créé du code sous Excel et sous Word, mais cela est très lourd et consomme beaucoup de ressource et de temps.
Y a t-il plus simple?
Merci par avance pour vos réponses.
Voici le code sous excel:
=================
Sub import()
Dim Temp, canal
MyAppID = Shell("Winword.exe c:\Indicateurs\Rapport.dot", 1)
AppActivate MyAppID
canal = DDEInitiate("Winword", "system")
DDEExecute canal, "[ouvrirIDF()]"
Sheets("1trim").Select
Worksheets("Fiche indic").Range("e7:j15").Copy
DDEExecute canal, "[collerA()]"
Worksheets("Fiche indic").Range("e13:j25").Copy
DDEExecute canal, "[collerA()]"
DDEExecute canal, "[saut()]"
Sheets("Bilan").Select
Worksheets("Bilan").ChartObjects(1).Activate
ActiveChart.ChartArea.Select
ActiveChart.ChartArea.Copy
DDEExecute canal, "[collerA()]"
DDETerminate (canal)
End Sub
Code sous Word:
============
Global dest As Integer 'numéro du signet
------------
Sub ouvrirIDF()
dest = 0
ChangeFileOpenDirectory "c:\indicateurs\"
Documents.Open FileName:="Rapport.dot", _
ConfirmConversions:=False, ReadOnly:=True, AddToRecentFiles:=False, _
PasswordDocument:="", PasswordTemplate:="", Revert:=False, _
WritePasswordDocument:="", WritePasswordTemplate:="", Format:= _
wdOpenFormatAuto
End Sub
----------------
Sub collerA()
dest = dest + 1
WordBasic.WW7_EditGoTo Destination:="a" & dest
Selection.Paste
End Sub
---------------
Sub saut()
Selection.InsertBreak Type:=wdPageBreak
End Sub
--------------