Modifier un signet Word depuis une macro Excel [Résolu]

cs_Stefun 9 Messages postés mercredi 9 novembre 2005Date d'inscription 9 novembre 2010 Dernière intervention - 12 oct. 2010 à 12:20 - Dernière réponse : cs_Stefun 9 Messages postés mercredi 9 novembre 2005Date d'inscription 9 novembre 2010 Dernière intervention
- 13 oct. 2010 à 09:02
Bonjour, j'essaye en vain de modifier un signet Word depuis une macro sous Excel mais je n'y arrive pas.

Voici mes 2 essais :

ActiveDocument.Bookmarks("DATE").Range.Text = "12/10/2010"

ActiveDocument.Selection.Goto What:=wdGoToBookmark, Name:="DATE"
ActiveDocument.Selection.TypeText ("12/10/2010")



Ces lignes génèrent l'erreur "La classe ne gère pas Automation ou l'interface attendue.
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
cs_Stefun 9 Messages postés mercredi 9 novembre 2005Date d'inscription 9 novembre 2010 Dernière intervention - 13 oct. 2010 à 09:02
3
Merci
Merci de la réponse mais j'ai finalement trouvé :)

En fait si ma déclaration était plus haut ;)

J'ai écris ceci pour faire ce que je voulais :

appword.Documents(nom_fichier).CustomDocumentProperties(nom_signet).Value = ma_nouvelle valeur
appword.Documents(fichier_modele).Fields.Update

:)

Merci cs_Stefun 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 69 internautes ce mois-ci

Commenter la réponse de cs_Stefun
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 12 oct. 2010 à 12:56
0
Merci
Salut

As-tu référencé Word dans ton projet Excel ?
Sans cette référence, les constantes comme wdGoToBookmark poseront un problème.

Comment as-tu déclaré et ouvert ton document Word ?

Si tu es sous Excel et que tu manipules un document Word, la notion de ActiveDocument n'a plus de sens. Il faut que tu te réfères à l'objet Document ouvert.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Commenter la réponse de cs_Jack
cs_Stefun 9 Messages postés mercredi 9 novembre 2005Date d'inscription 9 novembre 2010 Dernière intervention - 12 oct. 2010 à 13:13
0
Merci
Alors,

oui dans mon classeur Excel, j'ai bien la références "Microsoft Word 11.0 Object Library"

Si word est lancé et le fichier déjà ouver je passe par :
Set appword= GetObject(, "Word.Application")

sinon je passe par :
Set appword = CreateObject("Word.Application")
appword.Documents.Open filename:=nom_fichier


pour modifier mon signet DATE dans Word, cette ligne ne fonctionne pas :
appword.Bookmarks("DATE").Range.Text = "12/10/2010"

une idée ?
Commenter la réponse de cs_Stefun
cs_Stefun 9 Messages postés mercredi 9 novembre 2005Date d'inscription 9 novembre 2010 Dernière intervention - 12 oct. 2010 à 14:45
0
Merci
J'avance un peu.

J'arrive à accéder à mon fichier Word mais la valeur que je veux rempalcer dans mon signet se met au début de mon fichier word comme si la sélection ne se faisait pas sur le signet indiqué :

appword.Documents(mon_fichier).Activate
appword.Options.ReplaceSelection = True
appword.Selection.Goto What:=wdGoToField, Name:=("date_dn")
appword.Selection.TypeText ("12 / 10 / 2010")

comme si la ligne en gras ne s'exécutait pas....
Commenter la réponse de cs_Stefun
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 12 oct. 2010 à 20:31
0
Merci
Parce que tu n'as pas déclarer d'objet Document ... d'ailleurs, je ne vois pas non plus de déclaration pour appWord :
Dim appWord As Word.Application
Dim monDocument As Word.Document
Set appword = CreateObject("Word.Application")
Set monDocument = appword.Documents.Open filename:=nom_fichier

Ensuite, au lieu de faire
ActiveDocument.tralala
tu utilises
monDocument.tralala
Commenter la réponse de cs_Jack

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.