Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/01/2008, 12h31   #1
Membre éclairé
 
Inscription : décembre 2007
Messages : 426
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 426
Points : 313
Points : 313
Par défaut Référence à un signet

Bonjour,

Je crée un signet de la forme [valeur]
Je crée une référence sur ce signet (CTRL + F9) de la forme { REF test }

J'ai le code suivant qui me permet de remplacer la valeur du signet (ce qui le supprime) puis de la récreer :
Code :
1
2
3
4
5
6
7
8
signet = "test"
valeur = "nouvelle valeur"
ActiveDocument.Bookmarks(signet).Select
ActiveDocument.Bookmarks(signet).Range.Text = valeur
deb = Selection.Start
fin = deb + Len(valeur)
ActiveDocument.Range(deb, fin).Select
ActiveDocument.Bookmarks.Add Range:=Selection.Range, Name:=signet
J'ai 2 questions :

1/ A la fin de mon programme le signet est remplacé mais pas la référence, je suis obligé de faire "apercu avant impression" puis de refermer pour la mettre à jour, j'ai trouvé que ca, est-il possible d'actualiser la référence par programme ?

2/ Une fois actualisé, on ne vois plus que la valeur di signet, les accolades ont disparu, on ne voit plus que c'est une référence, est-il possible de les voir comme les signets (option affichage signet) ?

Merci d'avance
Eric93 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2008, 18h14   #2
Rédacteur/Modérateur
 
Avatar de Sepia
 
Homme JF Jousseaume
Inscription : octobre 2007
Messages : 2 390
Détails du profil
Informations personnelles :
Nom : Homme JF Jousseaume
Âge : 48
Localisation : France

Informations professionnelles :
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 2 390
Points : 3 356
Points : 3 356
Par défaut Mise à jour de signets

Salut,

Malheureusement Word ne permet pas de mettre à jour des références (comme Excel, par exemple). Mais le code pour faire la mise à jour est simple, il consiste à faire "Sélectionner tout" et "Mettre à jour les champs"
Code :
1
2
3
4
5
 
    ' "Sélectionner Tout"
    Selection.WholeStory
    ' "Mettre à jour les champs"
    Selection.Fields.Update
Attention, après ton document est toujours entièrement sélectionné, donc si tu dois insérer du code, tu risques d'écraser sauf si tu changes ta sélection.

Pour le 2ième point, il s'agit d'une option d'affichage. Utilise la commande "Outils-Options"-onglet "Affichage" et clique sur la case à cocher "Codes de champ" dans la zone "Affichage". Ils seront toujours affichés avec leurs codes et pas avec leurs valeurs.

A+
Sepia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2008, 10h45   #3
Membre éclairé
 
Inscription : décembre 2007
Messages : 426
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 426
Points : 313
Points : 313
La mise à jour globale me conviens parfaitement.

Pour l'affichage, tant pis, je voulais afficher avec les valeur mais que l'on vois que c'est une reference, comme les crochet pour les signets.

Merci
Eric93 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2008, 10h57   #4
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 354
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 354
Points : 29 270
Points : 29 270
Si tu veux afficher que c'est une référence, tu peux toujours modifier la coleur de fond en gris clair.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2008, 11h15   #5
Membre éclairé
 
Inscription : décembre 2007
Messages : 426
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 426
Points : 313
Points : 313
On peux modifier la couleur pour toute les référence ou je dois les modifier une par une ?
Eric93 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2008, 12h13   #6
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 354
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 354
Points : 29 270
Points : 29 270
Avec une boucle, on peut le faire pour toutes en une fois.

Code :
1
2
3
4
5
Dim fld As Field
For Each fld In AcitveDocument.Fields
    fld.Select
    Selection.Shading.BackgroundPatternColor = wdColorGray05
Next fld
Essaie comme ça.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2008, 12h38   #7
Membre éclairé
 
Inscription : décembre 2007
Messages : 426
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 426
Points : 313
Points : 313
Merci et si je veux faire la même chose pour les signets ?
Eric93 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2008, 12h44   #8
Membre éclairé
 
Inscription : décembre 2007
Messages : 426
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 426
Points : 313
Points : 313
Bizarre j'ai mis ton code à la fin de ma macro, il m'as bien mis tout les champ en gris clair.

Mais quand je rééxécute ma macro ca ne marche plus, ils restent en blanc.
Eric93 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h10.


 
 
 
 
Partenaires

Hébergement Web