Sub Excel_Word()
Dim oWdApp As Word.Application
Dim oWdDoc As Word.Document
'Lancer une instance Word
Set oWdApp = CreateObject("Word.Application")
'Ouvrir un nouveau document
Set oWdDoc = oWdApp.Documents.Add
'Rendre Word visible
oWdApp.Visible = True
If oWdApp.Selection.PageSetup.Orientation = wdOrientPortrait Then
oWdApp.Selection.PageSetup.Orientation = wdOrientLandscape
Else
oWdApp.Selection.PageSetup.Orientation = wdOrientPortrait
End If
'Détermine la plage contenant des valeurs
ld = [tablo].Find("*", LookIn:=xlValues, _
SearchOrder:=xlByRows, SearchDirection:=xlNext).Row
cd = [tablo].Find("*", LookIn:=xlValues, _
SearchOrder:=xlByColumns, SearchDirection:=xlNext).Column
lf = [tablo].Find("*", LookIn:=xlValues, _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
cf = [tablo].Find("*", LookIn:=xlValues, _
SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
'Copier une plage depuis Excel
ActiveSheet.Range(Cells(ld, cd), Cells(lf, cf)).Copy
'Coller la plage dans Word
oWdApp.Selection.Paste
oWdApp.ActiveWindow.ActivePane.VerticalPercentScrolled = 0
oWdApp.Selection.Tables(1).AutoFitBehavior AutoFitWindow
Application.CutCopyMode = False
End Sub