Bonjour,
Je souhaite réaliser un rapport automatique sous Word (pour garantir une certaine mise en page du texte etc… )
Par contre beaucoup de module sont de type table de calcul avec des formules compliqués sous Excel.
Cette première partie donne la manière que j’utilise à l’heure actuelle (elle fonctionne), la question est plutôt en point 2
1/
Pour le moment, je ne sais pas si c'est la meilleur solution mais cela fonctionne, j'utilise des signets sous Word où je veux insérer une image EXCEL et coller l’image en métafichier. Cela correspond des choses comme cela :
Ceci était pour le contexte et pour donner le code sur lequel j'ai déjà pas mal buché malgré pas mal de rubrique d’aide sur internet…
2/
Maintenant ma question:
je souhaite redimensionner l'image métafichier, j'ai trouvé un code qui fonctionne sous word (si je prends un nouveau fichier et ne colle des images) mais pas sous excel.
Il faut noter que la seul façon que j'ai trouvé nécessite de connaitre le n° d'index de l'inlineshape (forme dans le texte crée en collant en métafichier). Or il y a plein d'images je n'ai aucune idée de cet index.
Le code qui ne marche dans word donne:
[/CODE]
Sub AA()
Dim i As Integer
i = ActiveDocument.InlineShapes.Count
Word.ActiveDocument.InlineShapes(i).Height = 55
Word.ActiveDocument.InlineShapes(i).Width = 25
End Sub
[/CODE]
Pour excel, je pensais arriver à quelque chose comme cela :
[/CODE]
Sub AA()
Set ww = CreateObject("word.application")
ww.Visible = True
ww.Documents.Open Filename:=ActiveWorkbook.Path & "\TRAM NOTE FRANCAIS\" & "TRAM note francais.doc"
Dim i As Integer
i = ww.ActiveDocument.InlineShapes.Count
ww.ActiveDocument.Bookmarks("roulement_carac").Select
ActiveWorkbook.Names("note_roulement_carac").RefersToRange.Copy
ww.Selection.PasteSpecial , DataType:=wdPasteEnhancedMetafile, Placement:=wdInLine
ww.Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
ww.ActiveDocument.InlineShapes(i).Height = 55
ww.ActiveDocument.InlineShapes(i).Width = 25
End Sub
[/CODE]
Mais les commandes ne font rien du tout....
Je ne sais plus quoi faire d'autre à part les reprendre à la main, et à ce stade c'est domage...
Merci pour votre aide
Je souhaite réaliser un rapport automatique sous Word (pour garantir une certaine mise en page du texte etc… )
Par contre beaucoup de module sont de type table de calcul avec des formules compliqués sous Excel.
Cette première partie donne la manière que j’utilise à l’heure actuelle (elle fonctionne), la question est plutôt en point 2
1/
Pour le moment, je ne sais pas si c'est la meilleur solution mais cela fonctionne, j'utilise des signets sous Word où je veux insérer une image EXCEL et coller l’image en métafichier. Cela correspond des choses comme cela :
Code:
Set ww = CreateObject("word.application")
ww.Visible = True
ww.Documents.Open Filename:=ActiveWorkbook.Path & "\TRAM NOTE FRANCAIS\" & "TRAM note francais.doc"
‘pour mettre la date, la révision du rapport, enfin du texte (sans cellule autour t avec la mise en form word et non excel) d'un côté nom de signet word de l'autre nom de plage ou cellule excel etc… :
ww.ActiveDocument.Bookmarks("note_rev").Range = ActiveWorkbook.Names("note_rev").RefersToRange.Value
ww.ActiveDocument.Bookmarks("note_date").Range = ActiveWorkbook.Names("note_date").RefersToRange.Value
‘Pour insérer une plage appelé note_roulement_carac dans EXCEL au signet roulement_carac dans Word en méta fichier (dans le texte et non en vrac au-dessus du texte):
ww.ActiveDocument.Bookmarks("roulement_carac").Select
ActiveWorkbook.Names("note_roulement_carac").RefersToRange.Copy
ww.Selection.PasteSpecial , DataType:=wdPasteEnhancedMetafile, Placement:=wdInLine
ww.Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
Ceci était pour le contexte et pour donner le code sur lequel j'ai déjà pas mal buché malgré pas mal de rubrique d’aide sur internet…
2/
Maintenant ma question:
je souhaite redimensionner l'image métafichier, j'ai trouvé un code qui fonctionne sous word (si je prends un nouveau fichier et ne colle des images) mais pas sous excel.
Il faut noter que la seul façon que j'ai trouvé nécessite de connaitre le n° d'index de l'inlineshape (forme dans le texte crée en collant en métafichier). Or il y a plein d'images je n'ai aucune idée de cet index.
Le code qui ne marche dans word donne:
[/CODE]
Sub AA()
Dim i As Integer
i = ActiveDocument.InlineShapes.Count
Word.ActiveDocument.InlineShapes(i).Height = 55
Word.ActiveDocument.InlineShapes(i).Width = 25
End Sub
[/CODE]
Pour excel, je pensais arriver à quelque chose comme cela :
[/CODE]
Sub AA()
Set ww = CreateObject("word.application")
ww.Visible = True
ww.Documents.Open Filename:=ActiveWorkbook.Path & "\TRAM NOTE FRANCAIS\" & "TRAM note francais.doc"
Dim i As Integer
i = ww.ActiveDocument.InlineShapes.Count
ww.ActiveDocument.Bookmarks("roulement_carac").Select
ActiveWorkbook.Names("note_roulement_carac").RefersToRange.Copy
ww.Selection.PasteSpecial , DataType:=wdPasteEnhancedMetafile, Placement:=wdInLine
ww.Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
ww.ActiveDocument.InlineShapes(i).Height = 55
ww.ActiveDocument.InlineShapes(i).Width = 25
End Sub
[/CODE]
Mais les commandes ne font rien du tout....
Je ne sais plus quoi faire d'autre à part les reprendre à la main, et à ce stade c'est domage...
Merci pour votre aide