[VBA][Excel][Word] Redimensionner Tableau

Redimensionner Tableau [VBA][Excel][Word] - VB/VBA/VBS - Programmation

Marsh Posté le 27-07-2009 à 15:46:07    

Bonjour,
 
Je fais une macro excel qui copie des données dans un doc word mais j'ai quelques petits soucis.
 
donc j'ouvre mon doc word et je copie dedans un tableau excel
 

Code :
  1. Set appWord = CreateObject("Word.Application" )
  2. 'Ouverture du document word
  3. appWord.Documents.Open ("mon_doc.doc" )
  4. With appWord.Selection
  5. .TypeText Text:="FAITS MARQUANTS"
  6. .ParagraphFormat.Alignment = wdAlignParagraphCenter
  7. .Font.Size = 18
  8. With .Font
  9. .Name = "time new roman"
  10. .Size = 10
  11. .Bold = True
  12. End With
  13. 'Copier le tableau Excel dans le presse papier
  14. ThisWorkbook.Sheets("feuille" ).Range("O10:AI27" ).Select
  15. Selection.Copy
  16. ' Coller le tableau dans Word
  17. .PasteSpecial Link:=True, _
  18. DataType:=wdPasteOLEObject, _
  19. Placement:=wdInLine, DisplayAsIcon:=False
  20. End With
  21. 'Enregistrer et quitter Word
  22. appWord.ActiveDocument.Save
  23. appWord.ActiveDocument.Close
  24. 'Réinitialiser l'objet
  25. Set appWord = Nothing


 
ca marche nikel mais le graphique est enorme et je sais pas comment le redimensionner
 
ca doit etre le membre Width qu'il faut modifier mais comment selectionner le tableau pour pouvoir faire un truc du genre
 
Selection.InlineShapes(1).Width = Selection.InlineShapes(1).Width/2
 
Mirci de votre aide ^^

Reply

Marsh Posté le 27-07-2009 à 15:46:07   

Reply

Marsh Posté le 28-07-2009 à 12:26:45    

Bonjour
 
Regardes peut etre de ce coté.
 

Code :
  1. For Each iShape In ActiveDocument.InlineShapes
  2.     iShape.ConvertToShape
  3. Next iShape
  4. For Each MonShape In ActiveDocument.Shapes
  5.     MonShapeNom = MonShape.Name
  6. Next MonShape
  7. ActiveDocument.Shapes(MonShapeNom).Width = ActiveDocument.Shapes(MonShapeNom).Width / 2


 
En fait c'est assez chiant de faire comme tu le fais, car on ne defini pas l'objet final.
 
Il vaut mieux passer directement par un truc du genre :

Code :
  1. appword.Documents.Open Filename:="C:\toto.doc"
  2. appword.Selection.InlineShapes.AddOLEObject("C:\TonClasseur.xls" ).OLEFormat.Object.Sheets("feuille" ).Range("O10:AI27" ).Paste


---------------
Soyez malin, louez entre voisins !
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed