Bonjour
J'ai un document Word avec 4 photos (Donc 4 Shapes) que je ne veux pas toucher.
J'insère un tableau Excel que je place entre la photo 2 et 3 et que voudrais redimensionner. Mon tableau devient donc la 3ème image dans le document Word
J'ai écrit cette macro qui marche bien si je n'ai pas de photos derrière mon tableau inséré, c'est à dire si mon tableau est la 5ème image
Sinon, bien sûr si met mon index en dur sur le InLineshapes (c'est à dire InLineshapes(3)) cela fonctionne mais je ne veux pas de choses en dur
En fait quand ma macro s'exécute, InLineShape se position sur la 5ème image et redimensionne cette 5ème image et non ma 3ème
Je suis perdu.
Voici mon code. Si quelqu'un peut m'aider. Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 Sub Test() Dim AppWord As New Word.Application Dim NuméroDernièreImage As Integer Dim NomFichier As String NomFichier = "C:\Users\mbo\Documents\_Exemples_Fusion_Excel_Word\MonFichierWord2.docx" AppWord.Documents.Open NomFichier AppWord.Visible = True NuméroDernièreImage = AppWord.ActiveDocument.InlineShapes.Count With AppWord .Selection.HomeKey Unit:=wdStory 'envoi en début de page 'recherche du signet .Selection.Goto What:=wdGoToBookmark, Name:="Périmètre_F01" End With ThisWorkbook.Worksheets("Proposition_Périmètre").Range("B6:D15").Copy NuméroDernièreImage = NuméroDernièreImage + 1 AppWord.Selection.PasteSpecial link:=False, DataType:=wdPasteEnhancedMetafile, Placement:=wdInLine, DisplayAsIcon:=False Application.CutCopyMode = False With AppWord.ActiveDocument.InlineShapes(NuméroDernièreImage) .Width = CentimetersToPoints(8) 'largeur en cm End With End Sub
Partager