Coller sur word

Bonjour à tous,

Je souhaite copier des choses depuis excel et les coller sur word. Je maitrise la technique avec les signets, mais dans mon cas présent, il faut répéter l'opération plusieurs fois dépendamment de ce que demande l'utilisateur de la feuille excel.

Ce que je copie/colle c'est un tableau, son titre et des explications. C'est donc toujours la même forme et je veux les coller à la suite dans le document word.

J'ai deux options : soit générer automatiquement des signets, soit me placer à l'endroit que je souhaite et tout coller à la suite.

Mais pour cette deuxième option je ne sais pas comment faire. J'arrive à me placer où je veux avec un signet mais je n'arrive pas à coller ensuite.

Je suis aussi preneur si quelqu'un a la solution pour générer les signets.

Bonjour,

Voici quelques démo diverses et variées pour copier/coller des info xl dans word

Pierre

Je ne vois pas lequel je dois utiliser..

Il n'y a pas une simple fonction pour coller à la suite de la sélection ?

J'avance un peu grace à des choses que j'ai trouvé sur le forum et notamment tes posts @pierrep56.

J'arrive à manipuler ta fonction copie_tblo_dans_word mais quand je veux l'utiliser dans mon code principal elle ne marche pas. Voici ce code :

Sub Excel_vers_Word2()
Dim WordApp As Object, WordDoc As Object
Dim Ndf As String, NDF2 As String, Rep As String
Dim vaData As Variant
Dim tbl As Word.table
Dim table As Variant

    Ndf = ActiveWorkbook.Path & "\TrameRetraite.docx"  ' le doc modèle est placé dans le même dossier que le xlsm
    Rep = ActiveWorkbook.Path & "\Compte rendus\"     ' pour enregistrer le doc résultat dans un sous-dossier

    If Not Exist_Fichier(Ndf) Then                  ' vérifie l'existence du doc modèle
        MsgBox "Document 'modeleword.docx' manquant", vbExclamation, "ERREUR"
    Else
        If Not Exist_Rep(Rep) Then MkDir Rep        ' vérifie l'existence du sous-dossier et le crée éventuellement
        NDF2 = Rep & Now & ".docx" ' pour enregistrer le résultat

        On Error Resume Next
        If Fichier_IsOpen(Ndf) Then                 ' vérifie si le modèle est déjà ouvert
           Set WordApp = GetObject(, "Word.Application")
           Set WordDoc = WordApp.Documents(Ndf)
        Else                                        ' sinon ouvre l'appli word et le modèle
            Set WordApp = CreateObject("Word.Application")
            Set WordDoc = WordApp.Documents.Open(Ndf, ReadOnly:=False)
        End If

    With WordDoc

        ' Ajoute un premier tableau
        .Paragraphs.Add
        With .Paragraphs(.Paragraphs.Count - 1)
            .Format.SpaceBefore = 2 ' règle le centrage vertical dans les cellules du tableau
            .Format.SpaceAfter = 2  ' règle le centrage vertical dans les cellules du tableau
            Set Rng = WordDoc.Range(Start:=.Range.Start, End:=.Range.Start)
        End With
        Copie_tblo_dans_word ActiveSheet.Range("N1:X10"), 0, ""
    WordApp.Visible = True

    End With

        WordDoc.Application.ActiveDocument.SaveAs NDF2  ' enregistre le doc complété

        WordApp.Visible = True ' ou bien : WordApp.Application.Quit ' pour fermer après remplissage
        Set WordDoc = Nothing
        Set WordApp = Nothing
        MsgBox "Document word prêt"

    End If
End Sub

Si avant mon with WordDoc je ne mets que :

Ndf = ActiveWorkbook.Path & "\TrameRetraite.docx"
Set WordApp = CreateObject("Word.Application")
Set WordDoc = WordApp.Documents.Open(Ndf, ReadOnly:=False)

Ca fonctionne, mais je ne comprend pas ce qui bloque dans le code principal.

Je vous met le fichier en pièce jointe si ça peut vous être utile.

3trameretraite.docx (41.89 Ko)
Rechercher des sujets similaires à "coller word"