VBA: Copier un long tableau depuis Excel dans Word

JamieMacUloth Messages postés 43 Date d'inscription   Statut Membre Dernière intervention   -  
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Alors voilà, j'arrive à copier des tableaux (dans l'exemple un tableau de 3 colonnes) de Excel dans Word avec ce code:

Wb.Worksheets("Toto").Activate
Wb.Worksheets("Toto").Range("A1" & ":" & "C" & derniereLigne + 1).Select
Selection.Copy
'Recherche l'emplacement du signet où l'on collera le tableau
WordDoc.Bookmarks("Signet_Toto").Range.PasteSpecial _
Link:=True, DataType:=wdPasteOLEObject, Placement:=wdInLine


Le problème, c'est que si
derniereLigne
est trop grand, mon tableau, au lieu de passer à la page suivante dans Word, s'enfonce dans mon pied de page et ne continue pas sur la page suivante.

Est-ce que vous pouvez m'aider svp ?

Merci beaucoup d'avance

1 réponse

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonjour, as-tu essayé, ensuite, de modifier le tableau dans Word pour qu'il puisse s'étaler sur plusieurs pages?
0
JamieMacUloth Messages postés 43 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Je veux justement éviter de modifier le tableau dans Word, car je dois tout automatiser sans repasser par Word. Par contre, je me rends compte que le PasteSpecial copie non pas le tableau en tant que tableau mais comme une image. Du coup, je pense que c'est pour ça qu'il ne peut pas passer à la page d'après, c'est comme si je copiais une image trop longue. Je ne sais pas comment lui dire que je veux un copy paste en mode tableau et non image du coup...
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > JamieMacUloth Messages postés 43 Date d'inscription   Statut Membre Dernière intervention  
 
je voulais déterminer si/comment le tableau était modifiable, pour ensuite automatiser cela.
peut-être ainsi?
Call WordDoc.Bookmarks("Signet_Toto").Range.PasteExcelTable(True, False, False)
0