Copier tableau xls dans word par macro

  • Initiateur de la discussion Initiateur de la discussion gaby
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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!
 
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
 
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.
 
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 🙂
 
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 ;_;
 
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.
 
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...🙄
A+
kjin
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
9
Affichages
580
Retour