Bonjour
J'édite une macro permettant d'exporter des données de EXCEL vers un modèle WORD via des signets dans le WORD.
Le soucis est que l'export EXCEL -> WORD efface les signets du WORD (que je souhaite pouvoir utiliser pour faire du WORD -> EXCEL plus tard).
Je fais donc appelle à la fonction ci-dessous. Avec :
MyBM = Nom du signet (à chercher dans le WORD)
stTexte = TEXTE issu de excel à exporter vers WORD
LE soucis est que lorsque je lance la macro j'ai message d'erreur suivant à cette ligne:
Set MyRng = Word.Application.ActiveDocument.Range(Start:=intI, End:=intI + Len(stTexte))
Run-time error '13': Type mismatch
Pourriez vous m'aidier?
Function RemplacerTexteSignet(MyBM As Bookmark, stTexte As String) As Boolean
'Déclaration des variables
'intI pour le début de notre Bookmark
Dim intI As Long
'stBM pour le nom de notre Bookmark
Dim stBM As String
'un objet range pour le range de notre Bookmark
Dim MyRng As Range
'Récupération du nom du signet
stBM = MyBM.Name
'Récupération de la position de départ de notre signet
intI = MyBM.Start
'Affectation du texte à notre Bookmark
MyBM.Range.Text = stTexte
'Affectation de l'objet Range, où la position de départ est
' la même que pour le Bookmark et la fin sera le début augmenté de la longueur du texte
Set MyRng = Word.Application.ActiveDocument.Range(Start:=intI, End:=intI + Len(stTexte))
' Crée le Bookmark sur l'objet Range
ActiveDocument.Bookmarks.Add stBM, MyRng
Set MyRng = Nothing
'Affectation de la valeur True à la fonction
emplacerTexteSignet = True
End Function