Convertir Excel en Word modifiable avec photos

guiguiche54113

XLDnaute Nouveau
Bonjour les visualbasiqueurs !

J'ai réussi la conversion de Excel vers Word après de nombreuses recherches. Une méthode convertissais l'Excel en sorte d'image et la collait dans le Word, ce Word n'était donc pas modifiable.
En faisant un collage spécial au format RTF, j'ai réussi à rendre le Word généré modifiable, petit hic cependant (sinon ce serait trop beau), le format RTF ne prend pas en charge les images de ce que j'ai compris, avez vous une alternative afin que tout mes objectifs soient cochés ?

Merci d'avance,

PS : si vous voulez mon code de conversion de Excel a Word pour vous aider je peux le fournir

bonne journée à vous :)
 

guiguiche54113

XLDnaute Nouveau
Bonjour tatiak,

Déjà merci de ta réponse rapide !

J'ai regardé ton fichier joint mais mon but était de convertir un fichier Excel en Word contenant des images , pas de juste convertir un Excel en Word contenant du texte et d'y ajouter des images par la suite, je sais pas si tu vois !

Bonne journée !
 

guiguiche54113

XLDnaute Nouveau
Bonjour tatiak,

oui je crains que ce soit la seule solution, je vais tester ça, mais est-ce que la position de l'image dans l'Excel sera la même que dans le word ?
parce que l'idée est de conserver le fichier tel qu'il l'était à l'origine tu vois ?

en tout cas merci beaucoup je vais faire des tests avec ce que tu m'as donné la !

a+
 

guiguiche54113

XLDnaute Nouveau
ah et petite question en plus, pour parcourir les images non pas sur la feuille complète (
ActiveSheet.Shapes.Count) mais juste sur une plage de cellules genre Range("A1:Q80").Shapes.Count
sauf que ça marche pas avec un range j'ai l'impression qu'on peut pas !

Parce que de choisir ma plage, ça me permet de sélectionner juste les images et non les boutons qui se situent sur ma feuille.

merci ;)
 

guiguiche54113

XLDnaute Nouveau
Recoucou,

alors merci beaucoup, j'ai cependant quelques problèmes, sur mon word j'ai bien 2 choses qui apparaissent lorsque j'ai 2 images sur mon excel mais ce ne sont pas les photos de mon excel, je te mets ça en pj

le principe marche mais il doit y avoir une couille mdr
j'ai regardé le format et c'est pas l'extension parce que j'ai testé avec des jpg et png..

merci ;)
 

Pièces jointes

  • Capture.PNG
    Capture.PNG
    7.6 KB · Affichages: 10

guiguiche54113

XLDnaute Nouveau
alors j'ai du nouveau, ça marche niquel j'ai bien mes images et non les trucs chelou de la photo en pj,
par contre ils se mettent tout en haut a gauche de mon word et en petit et non à leurs emplacement respectifs et aux bonnes tailles

sais tu d'où pourrait provenir mon erreur ?
merci encore


VB:
'générer le word
Dim DocWord As Word.Document
     Dim AppWord As Word.Application
     Set AppWord = CreateObject("Word.Application") 'essayé avec New Word.Application
      
     Application.DisplayAlerts = True
     AppWord.ShowMe
     AppWord.Visible = True
 
     'Ouvre le document Word
 
     Set DocWord = AppWord.Documents.Add
    
 
     ' Copie les données Excel
Dim sh As Shape
Set sh = ActiveSheet.Shapes(Application.Caller)
    
     ThisWorkbook.Worksheets("Classeur1").Range(Cells(1, 1), Cells(sh.TopLeftCell.Offset(5, 0).Row, sh.TopLeftCell.Offset(0, 11).Column)).Copy
    
     ' Colle les données dans Word
 
     DocWord.Range.PasteSpecial DataType:=wdPasteRTF, DisplayAsIcon:=True
 
    
     'copier les images
    
      With ActiveSheet.Range("A1:Q80")
        For Each sh In ActiveSheet.Shapes
            If sh.Top >= .Top And sh.Left >= .Left _
             And sh.Left + sh.Width <= .Left + .Width _
             And sh.Top + sh.Height <= .Top + .Height Then
                Export_Image ActiveSheet.Shapes(sh.Name)
                MsgBox (sh.Name)
               DocWord.InlineShapes.AddPicture (ThisWorkbook.Path & "\Temp.jpg")
               ' puis export/import des autres images ...
               '...
            
               ' à la fin, éventuellement, si on veux effacer le fichier temporaire à la fin :
               Kill ThisWorkbook.Path & "\Temp.jpg"
                
            End If
        Next sh
    End With
    
     Application.CutCopyMode = False

 On Error Resume Next
     'DocWord.Application.ActiveDocument.Save
     DocWord.SaveAs "tableau.doc"
 

Discussions similaires