Mise à jour champ FILENAME

Le
Jac
Bonjour à tous,

j'ai inséré {FILENAME * MERGEFORMAT} dans le corps du document,
dans le premier entête et dans le pied de page.

A l'ouverture du document les champs ne sont pas mis à jour.
Pour que la mise à jour soit automatique, faut-il une macro ou
existe-t-il une option à cocher ?

J'ai n'ai rien trouvé à ce sujet ailleurs que dans les options d'impression
(Mettre à jour les champs). Mais ce qui est renvoyé, après un aperçu,
par {FILENAME * MERGEFORMAT} n'est pas identique dans
entête et pied de page et dans le corps du document.
Mettrait t-il à jour uniquement ce qu'il veut ?

Si je sélectionne tout le document puis F9, seul les éléments du corps du
document sont mis à jour, pas les en^tête et pieds de page !!!

Donc, y a-t-il une autre solution que CTRL A puis F9 puis aperçu avant
impression puis retour au document ?

Merci d'avance à qui me mettra sur la voie.

Jac
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
AB
Le #1587486
Bonjour,
Essaie ça :
Sub Mise_à_Jour_Champs()
' MAJ des champs de tout le document y compris les entêtes et pdp
Selection.WholeStory
Selection.Fields.Update
For i = 1 To ActiveDocument.Sections.Count
With ActiveDocument.Sections(i).Headers
ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
Selection.Fields.Update
End With
With ActiveDocument.Sections(i).Footers
ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter
Selection.Fields.Update
End With
Next i
ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
Selection.HomeKey Unit:=wdStory
End Sub

AB

"Jac"
Bonjour à tous,

j'ai inséré {FILENAME * MERGEFORMAT} dans le corps du document,
dans le premier entête et dans le pied de page.

A l'ouverture du document les champs ne sont pas mis à jour.
Pour que la mise à jour soit automatique, faut-il une macro ou
existe-t-il une option à cocher ?

J'ai n'ai rien trouvé à ce sujet ailleurs que dans les options
d'impression
(Mettre à jour les champs). Mais ce qui est renvoyé, après un aperçu,
par {FILENAME * MERGEFORMAT} n'est pas identique dans
entête et pied de page et dans le corps du document.
Mettrait t-il à jour uniquement ce qu'il veut ?

Si je sélectionne tout le document puis F9, seul les éléments du corps du
document sont mis à jour, pas les en^tête et pieds de page !!!

Donc, y a-t-il une autre solution que CTRL A puis F9 puis aperçu avant
impression puis retour au document ?

Merci d'avance à qui me mettra sur la voie.

Jac





Jac
Le #1587485
Bonjour Ab,

je vais tester un peu plus tard, mais je pense que ça répond bien à mon
problème.

Et comme parfois une solution appelle un problème, cette macro, il me la
faut pour l'ouverture d'une vingtaine de documents. Problème : si je la mets
dans chaque document, bonjour les mises à jour... Si je la mets dans
normal.dot, quand un autre utilisateur voudra ouvrir un des documents via le
réseau, il n'aura pas droit à la macro... car je ne peux pas imposer mes
préférences pour les dossiers par défaut ni personnaliser le normal.dot des
utilisateurs potentiels.

En résumé, il faut que l'ouverture de chacun de ces des fichiers, par un
quelconque utilisateur, déclenche la macro de mise à jour des champs. Et il
faut que la macro soit présente dans le même répertoire (ou un
sous-répertoire) que les fichiers à traiter. Je saurais faire dans XL, mais
dans Word, ce n'est pas toujours (facilement) transposable...

Jac


"AB"
Bonjour,
Essaie ça :
Sub Mise_à_Jour_Champs()
' MAJ des champs de tout le document y compris les entêtes et pdp
Selection.WholeStory
Selection.Fields.Update
For i = 1 To ActiveDocument.Sections.Count
With ActiveDocument.Sections(i).Headers
ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
Selection.Fields.Update
End With
With ActiveDocument.Sections(i).Footers
ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter
Selection.Fields.Update
End With
Next i
ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
Selection.HomeKey Unit:=wdStory
End Sub

AB

"Jac"
Bonjour à tous,

j'ai inséré {FILENAME * MERGEFORMAT} dans le corps du document,
dans le premier entête et dans le pied de page.

A l'ouverture du document les champs ne sont pas mis à jour.
Pour que la mise à jour soit automatique, faut-il une macro ou
existe-t-il une option à cocher ?

J'ai n'ai rien trouvé à ce sujet ailleurs que dans les options
d'impression
(Mettre à jour les champs). Mais ce qui est renvoyé, après un aperçu,
par {FILENAME * MERGEFORMAT} n'est pas identique dans
entête et pied de page et dans le corps du document.
Mettrait t-il à jour uniquement ce qu'il veut ?

Si je sélectionne tout le document puis F9, seul les éléments du corps
du document sont mis à jour, pas les entête et pieds de page !!!

Donc, y a-t-il une autre solution que CTRL A puis F9 puis aperçu avant
impression puis retour au document ?

Merci d'avance à qui me mettra sur la voie.

Jac




Geo
Le #1587992

Bonjour Ab,

je vais tester un peu plus tard, mais je pense que ça répond bien à mon problème.

Et comme parfois une solution appelle un problème, cette macro, il me la faut pour
l'ouverture d'une vingtaine de documents. Problème : si je la mets dans chaque
document, bonjour les mises à jour... Si je la mets dans normal.dot, quand un autre
utilisateur voudra ouvrir un des documents via le réseau, il n'aura pas droit à la
macro... car je ne peux pas imposer mes préférences pour les dossiers par défaut ni
personnaliser le normal.dot des utilisateurs potentiels.

En résumé, il faut que l'ouverture de chacun de ces des fichiers, par un quelconque
utilisateur, déclenche la macro de mise à jour des champs. Et il faut que la macro soit
présente dans le même répertoire (ou un sous-répertoire) que les fichiers à traiter. Je
saurais faire dans XL, mais dans Word, ce n'est pas toujours (facilement)
transposable...


Il y a pas mal de possibilités mais il faut voir si elles peuvent vous
servir :
Mettre la macro dans un modèle dans le répertoire de démarrage, mais
effectivement les utilisateurs peuvent le changer.

La même chose dans
C:Program FilesMicrosoft OfficeOffice11STARTUP
Ca devrait le faire.

On peut aussi ajouter directement le code par macro dans les documents,
surtout s'ils sont dans le même dossier.

--
A+

Jac
Le #1587976
Merci Geo,

On peut aussi ajouter directement le code par macro dans les documents,
surtout s'ils sont dans le même dossier.


Aurais-tu un exemple de code pour ceci ?

"Geo"

Bonjour Ab,

je vais tester un peu plus tard, mais je pense que ça répond bien à mon
problème.

Et comme parfois une solution appelle un problème, cette macro, il me la
faut pour l'ouverture d'une vingtaine de documents. Problème : si je la
mets dans chaque document, bonjour les mises à jour... Si je la mets dans
normal.dot, quand un autre utilisateur voudra ouvrir un des documents via
le réseau, il n'aura pas droit à la macro... car je ne peux pas imposer
mes préférences pour les dossiers par défaut ni personnaliser le
normal.dot des utilisateurs potentiels.

En résumé, il faut que l'ouverture de chacun de ces des fichiers, par un
quelconque utilisateur, déclenche la macro de mise à jour des champs. Et
il faut que la macro soit présente dans le même répertoire (ou un
sous-répertoire) que les fichiers à traiter. Je saurais faire dans XL,
mais dans Word, ce n'est pas toujours (facilement) transposable...


Il y a pas mal de possibilités mais il faut voir si elles peuvent vous
servir :
Mettre la macro dans un modèle dans le répertoire de démarrage, mais
effectivement les utilisateurs peuvent le changer.

La même chose dans
C:Program FilesMicrosoft OfficeOffice11STARTUP
Ca devrait le faire.

On peut aussi ajouter directement le code par macro dans les documents,
surtout s'ils sont dans le même dossier.

--
A+





Publicité
Poster une réponse
Anonyme