Copie d'une plage Excel dans Word depuis Word

Bonsoir à tous,

Je me lance un peu sur les macros Word après m'être amusé sur Excel. J'ai un besoin relativement simple mais sur lequel je bloque.

Dans un fichier Word, quand je clique sur un bouton, j'aimerai qu'une plage Excel soit copiée et coller sur Word. J'ai ce code pour l'instant, qui par du bouton valider d'un UserForm. Il charge bien le fichier Excel demandé, sélectionne la feuille souhaitée, sélectionne ensuite la plage demandée mais ensuite la formule ne fonctionne pas et je ne trouve pas comment repasser sur Word pour Coller ma sélection. J'ai trouvé plein de tuto pour copier depuis un excel mais quasi rien pour l'inverse, le soucis c'est que c'est sur mon fichier word que je suis obligé de bosser, l'Excel et juste une plage de données ou j'irai récupérer pleins d'info en fonction des paramètres de ma macro Word. Donc si quelqu'un a une idée ça serait top.

Sub Bouton_Valider_Click()

    Unload Me

    'Déclaration des variables
    Dim ExcelApp As Excel.Application
    Dim ExcelDoc As Excel.Workbook
    Dim U1_Chemin As String
    Dim NombreLignes As Integer

    U1_Chemin = "C:\Users\Heelflip\Desktop"

    'Définition des objets
    Set ExcelApp = CreateObject("Excel.Application")
    ExcelApp.Visible = True
    Set ExcelDoc = ExcelApp.Workbooks.Open(U1_Chemin & "\" & "Table.xlsx") 'Ouvre le document Excel

    'Recherche de la table
    ExcelDoc.Sheets(Feuill2).Select
    NombreLignes = SheetsFeuill2).Range("A" & Rows.Count).End(xlUp).Row

    MsgBox NombreLignes 'Test NombreLignes

    ActiveSheet.Range("A1:M" & NombreLignes).Select
    Selection.Copy
    Selection.Paste

End Sub

Bonjour Heelflip

Toujours pas habitué à manipuler les objets

Il faudrait faire un truc du style

Sub Bouton_Valider_Click()
  'Déclaration des variables
  Dim ExcelApp As Excel.Application
  Dim ExcelDoc As Excel.Workbook
  Dim U1_Chemin As String
  Dim NombreLignes As Integer

  Unload Me

  U1_Chemin = "C:\Users\Heelflip\Desktop"

  'Définition des objets
  Set ExcelApp = CreateObject("Excel.Application")
  ExcelApp.Visible = True
  Set ExcelDoc = ExcelApp.Workbooks.Open(U1_Chemin & "\" & "Table.xlsx") 'Ouvre le document Excel

  'Recherche de la table
  ExcelDoc.Sheets(Feuill2).Select
  NombreLignes = Sheets(Feuill2).Range("A" & Rows.Count).End(xlUp).Row
  ActiveSheet.Range("A1:M" & NombreLignes).Copy
  ' Avec ce document
  ThisDocument.Content.Paste
End Sub

A+

Salut Bruno,

Ça fonctionne, en effet les objets c'est encore quelque chose que j'ai du mal à maîtriser

Par contre j'ai un soucis, il colle par dessus mon bouton qui du coup disparait

J'ai créé un signet plus qu'a trouver comment coller dessus car avec ce code cela ne fonctionne pas.

    ActiveSheet.Range("A1:A" & NombreLignes, "D1:D" & NombreLignes).Copy
    ThisDocument.GoTo what:=wdGoToBookmark, Name:=("Tableau")
    ThisDocument.Content.Paste
Rechercher des sujets similaires à "copie plage word"