Copier EXCEL coller WORD

Lils_Bis Messages postés 57 Date d'inscription   Statut Membre Dernière intervention   -  
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
J'ai un code qui me permet de copier des tableaux depuis EXCEL pour les coller sur un document WORD créé par mon programme. Seulement, je souhaiterai que vous m'aidiez à apporter une légère modifications à celui-ci. En effet, je souhaiterais faire un collage spécial, à savoir "Utiliser les styles de destination".

Je vous joins mon code aussi, si quelqu'un pouvait trouver cela, ça serait une grande aide pour moi !

Public Const wdLineBreak = 6

Sub Export_word()
    Dim NDF As String
    Dim WordApp As Object, WordDoc As Object
    Dim i As Integer, cl As Integer, lg As Integer

        NDF = ActiveWorkbook.Path & "\" & "Fiche_" & Format(Now(), "yyyymmdd_hhmm")
       
        On Error Resume Next
       
        Set WordApp = CreateObject("Word.Application")
        WordApp.Visible = True
       
        Set WordDoc = WordApp.Documents.Add
       
        With WordApp.Selection
            cl = Sheets("TAP").Range("IV1").End(xlToLeft).Column - 2
            For i = 1 To cl Step 4
                lg = Sheets("TAP").Cells(1, i).End(xlDown).Row
                Sheets("TAP").Range(Cells(1, i), Cells(lg, i + 3)).Copy
                .Paste
                .InsertBreak Type:=wdLineBreak
            Next i
        End With
       
        Application.CutCopyMode = False
        WordDoc.SaveAs NDF

        Set WordDoc = Nothing
        Set WordApp = Nothing
       
        MsgBox "Document Word créé"
       
End Sub


MERCI PAR AVANCE DE VOTRE TEMPS ET DE VOTRE AIDE ! ☺

A voir également:

3 réponses

jfqld Messages postés 9071 Date d'inscription   Statut Membre Dernière intervention   126
 
copier un tableau excel dans word
dans Word il y a collage spécial
il suffit de cliquer sur coller avec les liaisons
et prendre feuilel microsoft office excel objet

0
Lils_Bis Messages postés 57 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,
Oui je sais, la "difficulté" étant de le faire avec VBA dans l'optique d'automatiser ce procédé peu importe le nom de tableau à copier.
0
Lils_Bis Messages postés 57 Date d'inscription   Statut Membre Dernière intervention  
 
Personne ne voit quelque chose de réalisable là-dedans ? ☺
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Bonjour,

Il suffit de coller avec liaison...
PasteSpecial link:=true

J'ai également ajouté :
WordApp.Quit
pour fermer word. Mais ça c'est toi qui voit...

Comme ceci :
Public Const wdLineBreak = 6

Sub Export_word()
    Dim NDF As String
    Dim WordApp As Object, WordDoc As Object
    Dim i As Integer, cl As Integer, lg As Integer

        NDF = ActiveWorkbook.Path & "\" & "Fiche_" & Format(Now(), "yyyymmdd_hhmm")
       
        On Error Resume Next
       
        Set WordApp = CreateObject("Word.Application")
        WordApp.Visible = True
       
        Set WordDoc = WordApp.Documents.Add
       
        With WordApp.Selection
            cl = Sheets("TAP").Range("IV1").End(xlToLeft).Column - 2
            For i = 1 To cl Step 4
                lg = Sheets("TAP").Cells(1, i).End(xlDown).Row
                Sheets("TAP").Range(Cells(1, i), Cells(lg, i + 3)).Copy
                .PasteSpecial Link:=True
                .InsertBreak Type:=wdLineBreak
            Next i
        End With
       
        Application.CutCopyMode = False
        WordDoc.SaveAs NDF
        WordApp.Quit
        Set WordDoc = Nothing
        Set WordApp = Nothing
       
        MsgBox "Document Word créé"
       
End Sub

0
Lils_Bis Messages postés 57 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,
Tout d'abord je te remercie déjà de ton code !
La sortie WORD que me propose ton code n'est pas très esthétique (pas de création de tableau sous forme de grilles). Je joins ici, le document WORD affiché après exécution du programme. Je ne sais pas si tu as une idée pour corriger cela ?

https://www.cjoint.com/c/FEykaoyIPCf

Merci à toi ! :)

Bonne journée !
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761 > Lils_Bis Messages postés 57 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Avant de changer quoique ce soit, as tu essayé de mettre en forme ton tableau sous excel avant de déclencher ta macro?
0