XL 2016 exporter un tableau excel dans un doc word existant

Tpacpc

XLDnaute Nouveau
Bonjour

Je souhaiterais exporter un tableau excel vers signet dans un document word.
Quelqu'un pourrait-il m'aider svp.
Ci-joint les fichiers concernés
 

Pièces jointes

  • Copie de Excel_vers_Word.xlsm
    16.7 KB · Affichages: 6
  • Essai Excel vers Word.docm
    13 KB · Affichages: 6

Pounet95

XLDnaute Occasionnel
Bonjour,
Il y a comme un problème !
Ces 2 classeurs sont ceux que j'ai posté dans le fil de lundi suite à ta demande.
Hervé y est aussi allé de sa contribution.
Dis-nous ce qui ne convient pas ...
Autre problème, tu n'as jamais répondu au fil de lundi, par contre tu as bien chargé les fichiers
 

Pounet95

XLDnaute Occasionnel
Bonsoir,
Je viens de réessayer avec les 2 fichiers joints. Pour moi, Excel 2016, ça fonctionne.
Questions "bêtes" :
1. Est-ce que la référence Microsoft Word16.0 Object Library est bien présente ?
2. Est-ce que le chemin du fichier et son nom sont exacts( E:\FSMI.docm ) ?
Ne serait-ce pas .docx l'extension auquel cas une erreur 4198 commande a échoué serait
affichée ?
3. Y-a-t-il un message d'erreur autre ?

----------------------------------------------------
Pour rappel, ce que j'avais écrit Lundi 23-03
---------------------------------------------------
Bonsoir,
En cherchant sur la toile, j'ai réussi à trouver qq codes dont celui qui est dans le classeur Excel.
Dans le fichier Word, j'ai créé 2 signets nommés Tableau1 et Tableau2 sous lesquels viendont se coller les tableaux Excel nommés tableau_XL1 et Tableau_XL2
Ne pas oublier de mettre la référence indiquée en tête du code
J'espère que ça ira car je ne suis pas un grand utilisateur de Word.

Capture Références.PNG
VB:
Sub exportDonneesDansSignetsWord()
    '--------------------------------------------------------------------
    'nécéssite d'activer la référence Microsoft Word xx.x Object Library
    '--------------------------------------------------------------------
    Dim AppWord As Word.Application
    Dim WordDoc As Word.Document
    Dim i As Byte
 
    Set AppWord = CreateObject("word.application")                              'ouvre session word
    Set WordDoc = AppWord.Documents.Open("E:\FSMI.docm")                       'ouvre document Word Attention au chemin!!
    AppWord.Visible = False 'word masqué pendant l'operation
    For i = 1 To 2
        Range("Tableau_XL" & i).Copy
        'les signets du document Word sont nommés Tableau1, Tableau2
        WordDoc.Bookmarks("Tableau" & i).Range.Select
        AppWord.Selection.Paste
    Next i
 
    AppWord.Visible = True 'affiche le document Word
    WordDoc.Close True 'ferme le document word en sauvegardant les données
    AppWord.Quit 'ferme la session Word
End Sub
 

Tpacpc

XLDnaute Nouveau
Bonjour,
désolé de répondre tardivement à ta réponse mais je suis pas mal sollicité en ce moment.
J'ai testé ton code qui fonctionne mais il me sélectionne 150 lignes
Pourrais tu m'expliquer plus en détail stp
merci
 

Pounet95

XLDnaute Occasionnel
Bonsoir,
Je comprends mieux !
Dans le code que tu es modifié; il y a en rouge gras une instruction qui fait que plus de 150 lignes sont copiées !

F15" &i est équivalent à F151 dans la boucle 1 et F152 dans la boucle 2

For i = 1 To 2
Range("B5:F15" & i).Copy
'les signets du document Word sont nommés Tableau1, Tableau2
WordDoc.Bookmarks("Tableau" & i).Range.Select
AppWord.Selection.Paste
Next i

A voir aussi l'utilité de la boucle qui va copier 2 fois le tableau en Tableau1 ( OK ) puis en Tableau2 qui n'existe pas !!!!
 

Discussions similaires

Statistiques des forums

Discussions
312 199
Messages
2 086 160
Membres
103 147
dernier inscrit
tubaman