Copier tableau xls dans word par macro

G

gaby

Guest
Bonsoir à tous, je débute avec vba et j'aimerais savoir s'il est possible de copier, et de quelle manière, des tableaux xls vers Word, le tout par macro.
En fait je n'arrive même pas à ouvrir Word malgré : Outils, Références, OLE Automation, Microsoft Office 9.0 Object Library, Microsoft XL 9.0 Object Library, et la création d'objet wordApp et wordDoc.

En vous remerciant par avance!
 
W

wally

Guest
Bonsoir gaby et le forum,

Essaye ceci :

Sub Excel_Word()

Dim oWdApp As Object 'Word.Application
Dim oWdDoc As Object 'Word.Document

'Lancer une instance Word
Set oWdApp = CreateObject("Word.Application")

'Ouvrir un nouveau document
Set oWdDoc = oWdApp.Documents.Add

'Rendre Word visible
oWdApp.Visible = True

'Copier une plage depuis Excel
ActiveSheet.Range("A1:E10").Copy

'Coller la plage dans Word
oWdApp.Selection.Paste

'Annuler le mode couper/copier
Application.CutCopyMode = False

End Sub

Il n'y a pas besoin de références particulières.


Slts

wally
 
G

gaby

Guest
Wally, Wally.... Tu es super! Ca fait des jours que je cherche et tu me réponds ça de suite. Ta macro marche comme sur des roulettes!
Mille mercis pour ta rapidité et en plus ce soir je vais aller au lit sans faire tourner ça dans ma tête.

Gaby.
 

Imperium

XLDnaute Junior
Re : Copier tableau xls dans word par macro

Bonjour à tous, et très bonne année !

Je me permets de remonter ce topic car il contient tout à fait ce qui m'intéresse, à la seule exception que j'aimerai savoir s'il était possible d'ouvrir un document word existant (à la place d'un nouveau document). Ce document contiendrait en fait des en-tête et pied de page.

Imaginons qu'il s'appelle "contrat".

Merci beaucoup pour votre aide :)
 

Imperium

XLDnaute Junior
Re : Copier tableau xls dans word par macro

Merci beaucoup c'est génial :)

Je me permets d'en demander encore plus, je sais que j'abuse, j'en suis vraiment désolé.

Est-il possible selon le résultat d'une cellule dans le document source, que tel ou tel document soit ouvert ?

En gros, si F12 = OUI ouvrir :
Set oWdDoc = oWdApp.Documents.Open("X:\..\..\contrat_OUI.doc"

mais si F12 = NON alors ouvrir :
Set oWdDoc = oWdApp.Documents.Open("X:\..\..\contrat_NON.doc"

Et prévoir au moins 4/5 documents différents ? Comment faudrait-il adapter le code actuel qui marche très bien et qui est celui-ci :

Sub Excel_Word()

Dim oWdApp As Object 'Word.Application
Dim oWdDoc As Object 'Word.Document

'Lancer une instance Word
Set oWdApp = CreateObject("Word.Application")

'Ouvrir un nouveau document
Set oWdDoc = oWdApp.Documents.Open("F:\DRH\....\CONTRAT")

'Rendre Word visible
oWdApp.Visible = True

'Copier une plage depuis Excel
ActiveSheet.Range("A5:A9").Copy

'Coller la plage dans Word
oWdApp.Selection.Paste

'Annuler le mode couper/copier
Application.CutCopyMode = False

End Sub

J'en demande trop, j'ai honte ;_;
 

Imperium

XLDnaute Junior
Re : Copier tableau xls dans word par macro

Bonsoir !

Et bien concernant les précisions, et bien je ne vois pas trop ce que je pourrais ajouter à ce que j'ai dit au dessus :S

En fait, il faudrait que suivant ce qui est écrit dans une cellule du document excel disons par exemple OUI/NON/PEUTETRE/SUREMENTPAS (sous forme de liste), le document word appelé est différent.
 

kjin

XLDnaute Barbatruc
Re : Copier tableau xls dans word par macro

Bonsoir,
En fait, il faudrait que suivant ce qui est écrit dans une cellule du document excel disons par exemple OUI/NON/PEUTETRE/SUREMENTPAS (sous forme de liste), le document word appelé est différent.
Et le document en question je on le choisit au hasard, en cherchant au fond du couloir à gauche, dans une feuille de ton classeur, directement dans la macro...:rolleyes:
A+
kjin
 

bérylion

XLDnaute Occasionnel
Re : Copier tableau xls dans word par macro

salut

si tous les *.doc sont dans le m répertoire ça pourrait donner :

Code:
Sub Excel_Word()

Dim oWdApp As Object 'Word.Application
Dim oWdDoc As Object 'Word.Document

'Lancer une instance Word
Set oWdApp = CreateObject("Word.Application")

'Ouvrir un nouveau document
Set oWdDoc = oWdApp.Documents.Open("F:\DRH\....\CONTRAT" & [F12] & ".doc")

'Rendre Word visible
oWdApp.Visible = True

'Copier une plage depuis Excel
ActiveSheet.Range("A5:A9").Copy

'Coller la plage dans Word
oWdApp.Selection.Paste

'Annuler le mode couper/copier
Application.CutCopyMode = False

End Sub

en revanche, s'ils sont disséminés dans le sens du vent, yfaudra les lister dans un tableau et aller les récupérer en f° de la valeur de F12
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote