Je reviens vers vous car j'ai quelques difficultés sur l'ajout d'un objet.
Je souhaite ajouter un objet à la place d'une balise que j'ai préalablement positionné dans un template.

Je parviens parfaitement à effectuer la recherche et la remplacer, mais je ne parviens pas à positionnner mon objet au niveau du mot trouvé (Selection.).

Si vous avez quelques idées, je suis preneur
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
Sub macro()
    'Ouverture du fichier WordDoc
    Dim Template As String
    Template = ThisWorkbook.Worksheets(1).Range("A1")
 
    Dim WordDocApp As Object, WordDoc As Document
    Set WordDocApp = CreateObject("Word.Application")
    Set WordDoc = WordDocApp.Documents.Open(Template, ReadOnly:=False)
    WordDocApp.Visible = True
    WordDocApp.WindowState = wdWindowStateMaximize
 
    'recherche et remplace
    balise = "<DOC>"
    nom = ""
    With WordDoc.Content.Find
        .ClearFormatting
        .Text = balise
        .Replacement.Text = nom
        .Forward = True
        .Wrap = wdFindContinue
        .Execute Replace:=wdReplaceAll
    End With
 
    'ajout de l'objet
    WordDoc.InlineShapes.AddOLEObject ClassType:="xmlfile", Filename:= _
        "Q:\file.xml" _
        , LinkToFile:=True, DisplayAsIcon:=True, IconFileName:= _
        "C:\windows\System32\msxml3.dll", IconIndex:=0, IconLabel:= _
        "file.xml"
End Sub