Lier une plage de données Excel à un doc word

bonjour à tous,

je me suis absenté pendant un moment, et reviens avec un sujet assez brulant pour moi.

je souhaite recuperer une plage de données de la feuille Licence de mon classeur Excel et l'afficher sur un doc word existant, de sorte que je puisse avoir un bouton dans mon classeur qui ouvrira le doc word avec la plage afiiché. avec Insertion>Objet.... il me prend toute la feuille (ce qui change tout).

merci de votre aide

Bonjour Merveil,

Voici un début de piste, il te faut créer un template word en .doc, dans ce fichier ou tu le formats selon tes besoin, avec tes champs et autres, il suffit d'ajouter un signet via le menu de "insertion > signet" à l'endroit excat ou tu veux que le mot soit téléversé et de mettre le nom lié à excel, dans mon exemple "NOM", "PRENOM", "ADRESSE".

et dans excel voici le script à ajouter. Ceci est un script d'envoi en Late Binding donc nul besoin d'ajouter de référence à ton fichier excel.

Option Explicit
Sub Report()
'---------------------------------------------------------------------------------------------------------------------------------
'         Rapport dans Word en late binding
'---------------------------------------------------------------------------------------------------------------------------------
'----------------------------------------------------------
'       Variable
'----------------------------------------------------------
Dim applword As Object
Dim docWord As Object
Dim saveWord As Object
Dim wsSource As Worksheet
Dim NOM as Range
Dim PRENOM as Range
Dim ADRESSE as Range
Dim nom_fichier As String
'-----------------------------------------  Link
Set NOM = Sheets("NOM DE FEUILLE").Range("C2")
Set PRENOM = Sheets("NOM DE FEUILLE").Range("C3")
Set ADRESSE = Sheets("NOM DE FEUILLE").Range("C4")
'----------------------------------------------------------
'       Open template
'----------------------------------------------------------
Set applword = CreateObject("Word.Application")
applword.Visible = True
applword.WindowState = 1
Set docWord = applword.Documents.Open(ThisWorkbook.Path & "\Reporting\Template.doc") 'ouvre le template word à remplir
'----------------------------------------------------------
'       Insert Text in Word
'----------------------------------------------------------
    With docWord.Bookmarks
        .Item("NOM").Range.InsertAfter NOM
        .Item("PRENOM").Range.InsertAfter PRENOM
        .Item("ADRESSE").Range.InsertAfter ADRESSE
    End With
'------------------------------------------------------------------------------------------------------------------
'                                                  Savegarde report
'------------------------------------------------------------------------------------------------------------------
applword.ChangeFileOpenDirectory (ThisWorkbook.Path & "\Reporting\Save\")
applword.ActiveDocument.SaveAs Filename:="Report" & " - " & Format(Date, "dd-mmmm-yyyy")
applword.FileDialog(msoFileDialogSaveAs).Execute
'------------------------------------------------------------------------------------------------------------------
'                                                  Clean memory system
'------------------------------------------------------------------------------------------------------------------
Set applword = Nothing
Set docWord = Nothing
Set saveWord = Nothing
Set NOM = Nothing
Set PRENOM = Nothing
Set ADRESSE = Nothing
End Sub
Rechercher des sujets similaires à "lier plage donnees doc word"