Export de feuille excel au format "Objet" pour word

tchangy71

XLDnaute Occasionnel
Bonjour,

Après diverse manipulation qui ne me donne pas forcement satisfaction, et après une longue recherche sur le net.... Une solution semble être intéressante pour ce que je veux faire (export de feuille Excel dans un document Word).

Je pars de word pour expliquer la méthode que j'aimerais utiliser :

J'ai découvert une option word intéressante qui est l'insertion d'objet. Qui a l'avantage de me garder la mise en forme excel, de conserver les formules... qui me permet donc de modifier mon excel dans word sans problème.

Option que l'on peut trouver dans :
Insertion/Objet/Créer à partir du fichier/... (cf. fichier joint pour comprendre tout l’intérêt de cette outil)

Au passage, par le biais de l'enregistreur de macro word j'ai pu obtenir :
Selection.InlineShapes.AddOLEObject ClassType:= _
"Excel.SheetMacroEnabled.12", FileName:= _
"C:\Users\ph\Desktop\Programme PROG\Tabelau_de_surface.xlsm", LinkToFile _
:=False, DisplayAsIcon:=False

De plus j'ai appris (et testé) qu'excel pouvait contrôler word ^^ (ouverture/fermeture/copier/coller etc.)

Donc ma question :
Quelqu'un sait comment je peux faire une insertion d'objet (correspondant à une feuille excel) depuis excel par une macro ?

(A savoir cette action ne me permet que d'ajouter la première feuille excel, donc je devrai surement boucler sur mes feuilles, la localisation de mon classeur et une variable, et je souhaite l'ajouter à un word existant)

Sinon si quelqu'un peut m'orienter,

D'avance merci,

Cordialement,
Philippe
 

Pièces jointes

  • Ex_pour_ED.docx
    59.2 KB · Affichages: 57

tchangy71

XLDnaute Occasionnel
Re : Export de feuille excel au format "Objet" pour word

Bonjour,

Pour info j'ai réussi à peu près à faire ce que je souhaitais. Il n'est pas insérés comme objet mais les tableaux sont copiés dans word et se mettent automatiquement à jour lors de la modification du fichier source excel.
Voici le code (pour ceux qui sont intéressé)

Sub creation_du_word()
Dim Mon_Clair As Document

'Ouverture d'un fenêtre d'exploitation pour la sélection du doc. word dans lequel on insère les tableaux
On Error Resume Next
ChoixWord = Application.GetOpenFilename(",*")
If ChoixWord = "" Then Exit Sub

'Ouverture du doc. word
AppliWord.Documents.Open (ChoixWord)
Set Mon_Clair = ActiveDocument

'Boucle sur les feuilles excel existantes dans le classeur
For Each sh In ActiveWorkbook.Worksheets
If Not sh.Name = "Source" Then 'exception de la feuille "Source" pour mon cas
sh.Select
Set R = sh.Cells.Find(what:="*", After:=sh.[iv65536], SearchOrder:=xlByRows, searchdirection:=xlPrevious) 'permet de trouver la dernière ligne du tableau. Merci PMO
Derniere_ligne = R.Row

'Copie du tableau excel
Range(Cells(1, 1), Cells(Derniere_ligne, 7)).Copy

' collage spéciale des tableaux dans word
AppliWord.Selection.PasteSpecial Link:=True, DataType:=wdPasteOLEObject, Placement:=wdInLine, DisplayAsIcon:=False
End If
Next sh

'fermeture du doc. word
AppliWord.Documents.Close

End Sub

Et voilà le tour est joué. J'espère que ça servira....

Bref,

Cordialement,
Philippe
 

rogber

XLDnaute Nouveau
Re : Export de feuille excel au format "Objet" pour word

Quelqu'un pourrait me dire pourquoi j'ai cette erreur:

On Error Resume Next
ChoixWord = Application.GetOpenFilename(",*")
If ChoixWord = "" Then Exit Sub

Erreur de compilation , variable non définie.

Cette macro correspond exactement a ce que je souhaite.

Merci d'avance
 

Discussions similaires

Réponses
15
Affichages
772
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 216
Messages
2 086 348
Membres
103 194
dernier inscrit
rtison