Copier un tableau Excel dans Word
#1
Aspirant XLPages

Inscription: 07/03/2008
De Amiens

Messages: 33

Système d'exploitation:
PC
Version Excel utilisée:
2002,2003,2010
Posté le : 31-08-2010 12h05
Bonjour,

Dans une feuille devis un tableau est présent et le but est de le copier dans un document word (en début).

Je copie mon tableau par fd.range
et desire le coller en tableau sous Word
par pasteExcelTable

Le message d'erreur est la commande n'existe pas
Public Sub colleWord()
Set fd = Worksheets("Devis")
Limite = fd.Range("A65535").End(xlUp).Row
    'Raz des Lignes
   
     fd.Range("A1:H" & Limite).Copy
   

Dim AppWord As Word.Application
Dim DocWord As Word.Document

'-----------------------------creation session Word-----------------------------------
Set AppWord = New Word.Application

   
Application.DisplayAlerts = True
'AppWord.ShowMe

'pour que word reste masqué pendant l'opération
AppWord.Visible = True

 'Appel le document Word
Set DocWord = AppWord.Documents.Open("E:\test\ModOff.doc", _
              ReadOnly:=False)
AppWord.Application.Selection.PasteExcelTable False, False, False




DocWord.Save
DocWord.Close

             
Set DocWord = Nothing
Set AppWord = Nothing
End Sub
 

Merci de me donner des idées pour faire un copier coller d'excel vers word en conservant la mise en forme
(j'ai bien indiqué la référence à Excel)
Hors Ligne
Rapport   Haut 

Re: Copier un tableau Excel dans Word
#2
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 31-08-2010 14h01
Bonjour JackyAmiens, le Forum,

Citation :
JackyAmiens a écrit :
...
Le message d'erreur est la commande n'existe pas
...
(j'ai bien indiqué la référence à Excel)


S'agissant visiblement d'un morceau de code VBA issu de ton classeur Excel et donc à lancer depuis cette application, c'est dans Excel qu'il convient de mettre une référence à Word (et non une référence Excel dans Word).

Test effectué en activant bien la référence Word dans ton classeur Excel, ça fonctionne parfaitement.

Si je peux me permettre, j'ajouterais toutefois l'instruction suivante :
'...
'...
DocWord.Close
AppWord.Quit
'...
'...
pour fermer Word correctement et ne pas laisser son processus tourner de façon invisible en tâche de fond dans Windows.

Cordialement,


Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: Copier un tableau Excel dans Word
#3
Aspirant XLPages

Inscription: 07/03/2008
De Amiens

Messages: 33

Système d'exploitation:
PC
Version Excel utilisée:
2002,2003,2010
Posté le : 06-09-2010 11h09
Bonjour,

Le code initialement proposé se plantait sur une l'instruction
PasteExcelTable False, False, False


Après recherche, j'ai élaboré le code suivant en m'inspirant de source internet.

Le code permet à partir d'excel de recopier une plage de cellule dans un nouveau document Word.


Sub proWord()
   
    Set fd = Worksheets("Devis")
    'La zone excel débute en A1 e termine en Hi,  i étant variable suivant le nombre de ligne du devis
    fd.Select
    Limite = fd.Range("A65535").End(xlUp).Row 'détermine la dernière ligne de mon tableau
   
    Nomdufichier = InputBox("Nom du fichier", "Saisie")

Dim varDoc As Object
        Set varDoc = CreateObject("Word.Application")
                  varDoc.Visible = True
                  Sheets("Devis").Range("A1:H" & Limite + 4).Copy 'selection du tableau devis
                  varDoc.Documents.Add
                  varDoc.Selection.Paste 'recopie dans le document Word
                 
                 
                  varDoc.activedocument.SaveAs ThisWorkbook.Path & "/" & Nomdufichier & ".doc"
        Set varDoc = Nothing 'libere l'instance mémoire pile
        Set fd = Nothing
       
       
End Sub                                        
                                                       
                                                       
                                                       
 
Ce code répond à mon besoin d'aujourd'hui.

L'amélioration serait d'ouvrir un document Word existant et d'insérer le tableau  à un endroit spécifique par l'usage d'un signet.

J'espère avoir libérer correctement les ressources ouvertes en VBA ( le document word est visible à l'écran souhait des utilisateurs)

Et merci pour les suggestions.

Cdlt, JackyAmiens
Hors Ligne
Rapport   Haut 


Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Qui consulte actuellement ce sujet ?   1 Utilisateur(s) anonymes