Remplace signet word via un programme vba
eabra
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
eabra Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
eabra Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je souhaite à partir d'un code vba aller chercher une valeur dans ma feuille excel. cette valeur sera ensuite écrit à la place d'un signet d'un document word que j'ouvre avec le meme programme vba.
Voici mon code mais il ne marche pas trés bien. Il m'ouvre le doucument word mais ne remplace pas du tout le signet à la valeur trouvée.
Public Function RemplirSignet(mon_signet As String, mon_texte As String)
' Remplace mon_signet par mon_texte
Dim Place As Long
Place = ActiveDocument.Bookmarks(A).Range.Start
ActiveDocument.Bookmarks(A).Range.Text = B
ActiveDocument.Bookmarks.Add Name:=A, Range:=ActiveDocument.Range(Place, Place + Len(B))
End Function
Sub Export_word()
Dim WordApp As Object, WordDoc As Object
' Ouvrir le document Word
Set WordApp = CreateObject("Word.Application")
WordApp.Visible = True
WordApp.Documents.Open "D:/MacroV2/Fiche_Test.docx"
RemplirSignet "S3", Sheets("Feuil1").Range("B1").Value
End Sub
En executant le programme, le document Fiche_Test s'ouvre mais j'ai une erreur d'exécution 424.
Merci par avance pour votre aide.
je souhaite à partir d'un code vba aller chercher une valeur dans ma feuille excel. cette valeur sera ensuite écrit à la place d'un signet d'un document word que j'ouvre avec le meme programme vba.
Voici mon code mais il ne marche pas trés bien. Il m'ouvre le doucument word mais ne remplace pas du tout le signet à la valeur trouvée.
Public Function RemplirSignet(mon_signet As String, mon_texte As String)
' Remplace mon_signet par mon_texte
Dim Place As Long
Place = ActiveDocument.Bookmarks(A).Range.Start
ActiveDocument.Bookmarks(A).Range.Text = B
ActiveDocument.Bookmarks.Add Name:=A, Range:=ActiveDocument.Range(Place, Place + Len(B))
End Function
Sub Export_word()
Dim WordApp As Object, WordDoc As Object
' Ouvrir le document Word
Set WordApp = CreateObject("Word.Application")
WordApp.Visible = True
WordApp.Documents.Open "D:/MacroV2/Fiche_Test.docx"
RemplirSignet "S3", Sheets("Feuil1").Range("B1").Value
End Sub
En executant le programme, le document Fiche_Test s'ouvre mais j'ai une erreur d'exécution 424.
Merci par avance pour votre aide.
A voir également:
- Remplace signet word via un programme vba
- Quel site remplace coco - Accueil - Réseaux sociaux
- Fermeture de Coco : les internautes à la recherche d'un remplaçant - Accueil - Réseaux sociaux
- Word 2013 - Télécharger - Traitement de texte
- Tableau word - Guide
- Espace insécable word - Guide
2 réponses
Bonjour,
Sans trop creuser je suis étonné de l'utilisation des variables A et B dans la fonction.
Ne faut-il pas utiliser mon_signet et mon_texte à la place ?
Sans trop creuser je suis étonné de l'utilisation des variables A et B dans la fonction.
Ne faut-il pas utiliser mon_signet et mon_texte à la place ?
Oui pour toi M@rina, tu as parfaitement raison de dire que le macros ait été piqué. Pour une personne comme moi qui n'a aucune base de la programmation vba, s'inscrire dans les forums et voir comment les gens programme serait-il un problème?? Et pour rappel j'ai bien exposé mon problème ce qui montre peut-être ma compréhension de ton code. Si toutefois tu as une solution à mon problème merci de m'aiguiller.
Tu as raison de t'étonner ! C'est le problème de repiquer des macros à droite et à gauche sans en comprendre le fonctionnement...
Cette fonction vient de mon site et pour une application particulière !
https://faqword.com/index.php/word/gestion-des-macros/941-inserer-texte-via-macro-a-un-emplacement-avec-signet-sans-supprimer-le-signet
m@rina
Merci, en effet, c'est plus clair comme ça !
Oui, tu as parfaitement raison c'est juste une faute de frappe mais je me suis bien assuré lors de l'exécution du programme de renseigner les bonnes variables à l’occurrence mon_Signet et mon_Text