Retrouver un signet VariableDoc

juju54800 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
m@rina Messages postés 23940 Date d'inscription   Statut Non membre Dernière intervention   -
Bonjour,


J'ai un document Word 2007 qui contient un renvoi VariableDoc/PT_TITRE.

J'aimerais modifier ce renvoi, je sais que pour cela il faut modifier le texte du signet PT_TITRE et ensuite mettre à jour.
Seulement je ne trouve pas ce signet car il n'est pas dans le document (peut-être un genre de propriétés, je ne sais pas....)

Où dois-je aller pour modifier tous ces signets qui apparaissent dans la catégorie VariableDoc ?

Merci.
A voir également:

6 réponses

m@rina Messages postés 23940 Date d'inscription   Statut Non membre Dernière intervention   11 466
 
Bonjour,

Une fois pour toutes, les variables de document ne se gèrent que par macro. On oublie donc les signets.

Les variables de document sont invisibles pour l'utilisateur, à moins de l'afficher avec un champ DOCVARIABLE.

Le fait qu'il n'y ait pas de macros dans ce document ne veut rien dire du tout => Pas de message d'erreur ! La macro a pu être faite dans le modèle. Ou bien la macro a pu être supprimée. Il faut bien comprendre que la macro ne sert qu'à créer la variable. On peut supprimer ensuite cette macro, la variable reste dans le document.
Pour supprimer la variable, il faut une autre macro.

Pour modifier cette variable, il faut re-macroter.

Déjà pour savoir quelles sont les variables du document, tu peux utiliser ce code :

Sub variables()
For Each var In ActiveDocument.variables
MsgBox var.Name & " " & var.Value
Next
End Sub


Pour modifier ta variable, tu peux utiliser ce code :

Sub mod_var()
ActiveDocument.variables("PT_TITRE").Value = "Réglage à l'aide d'un compteur"
End Sub


Par contre, puisque tu ne maîtrises pas le VBA, je pense que tu devrais plutôt utiliser les propriétés de document qui, elles, ne nécessite pas de connaître le VBA. Regarde ici, j'ai écrit un article sur les propriétés :
https://faqword.com/index.php/word/tutos/toutes-versions/724-comment-utiliser-les-proprietes-dun-document

Je pense que je devrais ajouter un article sur les variables de document !:D

m@rina
1
m@rina Messages postés 23940 Date d'inscription   Statut Non membre Dernière intervention   11 466
 
Bonjour,

Les variables de document (DOCVARIABLE) sont des variables gérées par le VBA. Elles s'affichent dans le document via un champ DOCVARIABLE.

Pour faire un renvoi sur une variable, il faut utiliser le mode classique, à savoir commencer par insérer un signet sur le champ. Si tu ne vois pas le signet dans la liste des signets, c'est qu'il n'existe plus.

Appuie sur Alt+F9 pour visualiser les champs... Tu verras peut être ton champ DOCVARIABLE.

A titre indicatif, il y a eu un bug dans une mise à jour (déjà ancienne) qui détruisait les variables de document. Une autre mise à jour a supprimé le bug.

m@ina
0
juju54800 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Quand je fais Alt+F9 cela affiche {DOCVARIABLE PT_TITRE \* MERGEFORMAT}, ça signifie quoi ?

Mais sinon selon toi, ce champ n'existerait donc plus ?
Mais alors à l'impression ça devrait mettre un message d'erreur non ?
0
m@rina Messages postés 23940 Date d'inscription   Statut Non membre Dernière intervention   11 466
 
Le champ existe toujours puisque tu le vois... :D

A priori, le signet n'existe pas (puisque tu ne le vois pas). Il suffirait de le remettre.
Cela étant dit, quel est le résultat de ce champ DOCVARIABLE. Quand tu réappuies sur Alt+F9 pour visualiser le résultat, y a-t-il quelque chose ou bien est ce vide ?

Au risque de me répéter, la gestion des variables se fait par VBA et uniquement par VBA. En gros : écriture via le VBA, et lecture (dans le doc) via un champ.
Les variables de documents sont comme des propriétés de document, sauf qu'il faut absolument macroter pour les créer.

Au bout du compte, je ne vois pas bien où tu veux en venir et quel est ton problème.

m@rina
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
juju54800 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Oui il y a quelque chose et à l'impression ça reste, il ne doit donc pas y avoir de soucis.
Dans ce champ est écrit "Réglage à l'aide d'un tube" et je voudrais le modifier en "Réglage à l'aide d'un compteur". Voilà mon but ^^
Mais pour cela je savais qu'il fallait passer par un signet que je ne trouve pas.
Donc si je comprends bien, maintenant si je veux modifier le texte, il faut je passe par VBA... Malheureusement ce n'est pas un de mes domaines préférés.....
0
juju54800 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Je précise si cela aide que ce champ est dans une en-tête. C'est une sorte de titre qui sert à connaitre le type de document.
C'est pour cela aussi que je suppose que c'est normal qu'il n'apparaît pas dans le texte du document.

Je viens d'ouvrir le VBA de mon document aujourd'hui, et ... il n'y a rien !
Le VBA ne contient aucun document écrit, ni module, ni quoi que ce soit.
Je me demande donc bien d'où vient ce renvoi....... S'il n'avait plus de source existante, normalement en mettant à jour, ou à l'impression, il devrait apparaître un message d'erreur non ?
0