Copier coller des données de Excel vers word

Bonsoir

Je me demande comment faire en vba pour copier une selection de la plage C7 à D 11 de ma feuille de calcul nommée ( feuil2)

vers un document word nommée ( recepteur ), en fait executer une macro pour pouvoir recopier cette selection tout simplement .

Merci pour votre aide ou tout conseil .

Bonsoir,

A copier dans un module standard :

Option Explicit

Sub exportPlageVersWord(rngData As Range, sUrlFichierWord As String)
    'Déclaration des objets Word
    'Nécessite d'activer la référence Microsoft Word xx.x object library
    '(dans la fenêtre VBE, cliquez sur Outils, Référénces et cocher la référence)
    Dim wdApp As New Word.Application
    Dim wdDoc As Word.Document

    'Copie de la plage
    rngData.Copy

    'Ouverture du document word
    Set wdDoc = wdApp.Documents.Open(sUrlFichierWord)
    wdApp.Visible = True
    wdDoc.Activate

    'Collage
    wdDoc.ActiveWindow.ActivePane.Selection.PasteAndFormat (wdPasteDefault)

    'Vidage de la mémoire des objets
    Set wdDoc = Nothing
    Set wdApp = Nothing
End Sub

Utilisation de la procédure, (à coller dans un module type feuille)

Dans mon exemple je l'ai appliqué sur un bouton.

Option Explicit

Private Sub CommandButton1_Click()
    Dim rngPlageAcopier As Range
    Dim sUrlFichierWord As String

    'A paramétrer selon ton utilisation
    With ThisWorkbook.ActiveSheet
        Set rngPlageAcopier = .Range(Range("D1").Value)
        sUrlFichierWord = .Range("D2").Value
    End With

    'Utilisation de la procédure
    exportPlageVersWord rngPlageAcopier, sUrlFichierWord
End Sub

Je t'ai mis mon exemple en pièce jointe

ps: attention, comme je l'ai mis dans le commentaire de la procédure, tu dois activer la référence Microsoft Word Object Library et on part du principe que ton fichier word existe déjà.

1'611exportword-chrix-v1.zip (11.44 Ko)

merci pour cette réponse et pour le temps que tu y a consacré !

Ce code m'aide beaucoup merci !

Toutefois je ne trouve sur aucun forum la réponse à une de mes questions,

et je n'arrives pas à adapter le programme pour faire en sorte que le tableau soit dirigé à un endroit particulier du document word...

j'ai créé un signet nommé "signet1" dans le document Word de destination ; mais je n'arrive pas à faire en sorte que le tableau soit coller à l'endroit "signet1" !

Merci de vos réponses

Chrix a écrit :

Bonsoir,

A copier dans un module standard :

Option Explicit

Sub exportPlageVersWord(rngData As Range, sUrlFichierWord As String)
    'Déclaration des objets Word
    'Nécessite d'activer la référence Microsoft Word xx.x object library
    '(dans la fenêtre VBE, cliquez sur Outils, Référénces et cocher la référence)
    Dim wdApp As New Word.Application
    Dim wdDoc As Word.Document

    'Copie de la plage
    rngData.Copy

    'Ouverture du document word
    Set wdDoc = wdApp.Documents.Open(sUrlFichierWord)
    wdApp.Visible = True
    wdDoc.Activate

    'Collage
    wdDoc.ActiveWindow.ActivePane.Selection.PasteAndFormat (wdPasteDefault)

    'Vidage de la mémoire des objets
    Set wdDoc = Nothing
    Set wdApp = Nothing
End Sub

Utilisation de la procédure, (à coller dans un module type feuille)

Dans mon exemple je l'ai appliqué sur un bouton.

Option Explicit

Private Sub CommandButton1_Click()
    Dim rngPlageAcopier As Range
    Dim sUrlFichierWord As String

    'A paramétrer selon ton utilisation
    With ThisWorkbook.ActiveSheet
        Set rngPlageAcopier = .Range(Range("D1").Value)
        sUrlFichierWord = .Range("D2").Value
    End With

    'Utilisation de la procédure
    exportPlageVersWord rngPlageAcopier, sUrlFichierWord
End Sub

Je t'ai mis mon exemple en pièce jointe

ps: attention, comme je l'ai mis dans le commentaire de la procédure, tu dois activer la référence Microsoft Word Object Library et on part du principe que ton fichier word existe déjà.

Bonjour,

J'ai essayé d'adapter cette macro afin de pouvoir effectuer cette manip (copier une plage de donnée dans word) mais avec plusieurs onglets. Je souhaiterais qu'en appuyant sur le bouton cela me copie à la suite tous mes onglets, sur une plage définie (la même sur les différents onglets).

J'ai posté une question à ce sujet dans le forum.

Comment faire ?

Merci d'avance

Oph

Rechercher des sujets similaires à "copier coller donnees word"