Macro pour copier un tableau de taille variable vers Word

bullbull2010

XLDnaute Nouveau
Bonjour,

voilà mon problème: je veux copier une partie d'un tableau excel vers Word, sauf que je veux le faire pour plusieurs tableaux, donc il faudrait que j'arrive à modifier à chaque fois la taille du tableau. pour cela j'ai cherché sur le net et j'ai trouvé cette methode, sauf qu'elle ne marche pas ( enfin je l'ai ajustée, elle n'était pas comme ça)


Sub Excel_Word()

Dim oWdApp As Object 'Word.Application
Dim oWdDoc As Object 'Word.Document
Dim c
Dim X As String


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

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

'Rendre Word visible
oWdApp.Visible = True

' Dernière cellule non vide
c = Range("B65536" ).End(xlUp).Row
X = "B" & c

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



'Coller la plage dans Word
oWdApp.Selection.Paste

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

End Sub



Je vous remercie pour votre aide.
 

ninbihan

XLDnaute Impliqué
Re : Macro pour copier un tableau de taille variable vers Word

Bonjour Bullbull,

A tester :

Code:
Sub Excel_Word()

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




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

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

'Rendre Word visible
oWdApp.Visible = True

' Dernière cellule non vide
C = Range("B65536").End(xlUp).Row

'Copier une plage depuis Excel
ActiveSheet.Range("A1:B" & C).Copy



'Coller la plage dans Word
oWdApp.Selection.Paste

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

End Sub

Bonne journée,

Ninbihan
 

bullbull2010

XLDnaute Nouveau
Re : Macro pour copier un tableau de taille variable vers Word

Ooo merci ninbihan, je vois que t'as joué sur le string différemment, et ça marche bien! :D

maintenant, vu que je vais faire cette tâche pour chaque feuille de mon classeur, je rajoute uniquement une boucle for, pour le faire pour chaque feuille, à savoir,


'Rendre Word visible
oWdApp.Visible = True

For I = 2 To Worksheets.Count

' Dernière cellule non vide
C = Range("B65536").End(xlUp).Row




et à la fin je mets un end, mais je crois qu'il y a quelque chose qui manque, puisque ça marche pas...:confused:

une Correction?
 

ninbihan

XLDnaute Impliqué
Re : Macro pour copier un tableau de taille variable vers Word

Rebonjour,

Comme tu utilises le copier/coller, il faut donc que tu sélectionnes les feuilles successivement. Cela devient donc:
Code:
For I = 2 To Worksheets.Count
worksheets(i).select

Bon aprés midi,

Ninbihan
 

Discussions similaires

Réponses
8
Affichages
673

Statistiques des forums

Discussions
299 878
Messages
1 979 751
Membres
206 857
dernier inscrit
Pageee