Si vous créez un formulaire dans Word, il est possible d’utiliser deux types de champs dans le formulaire: les champs normaux et les champs de formulaire. Les champs de formulaire et la manière dont ils sont mis à jour sont traités dans d’autres numéros de _WordTips _. Si vous créez un formulaire qui utilise d’autres types de champs qui doivent être mis à jour périodiquement, cela peut être frustrant. Pourquoi? Parce que Word ne met pas toujours à jour les champs normaux lorsque vous remplissez un formulaire verrouillé.

Malheureusement, la seule façon de mettre à jour ces champs est soit d’imprimer le document (ce qui oblige normalement tous les champs à être mis à jour) soit de forcer les mises à jour via l’utilisation d’une macro. Si ce dernier est le cours souhaité, la macro doit accomplir ce qui suit:

  1. Déverrouillez le document.

  2. Mettez à jour les champs.

  3. Reverrouillez le document.

C’est une tâche relativement facile à faire avec VBA. Vous pouvez utiliser une macro telle que la suivante:

Sub UpdateFields()

Dim OneStory as Range  Dim OneField as Field

ActiveDocument.Unprotect Password:="YourPassword"

For Each OneStory In ActiveDocument.StoryRanges  For Each OneField in Stories.Fields   OneField.Update  Next OneField  Next OneStory  ActiveDocument.Protect Type:=wdAllowOnlyFormFields, _  NoReset:=True, Password:="YourPassword"

End Sub

Pour vous assurer que cette macro fonctionne pour vous, vous voudrez vous assurer que vous modifiez le verbiage «YourPassword» (deux instances) en quelque soit le mot de passe de votre document. Si votre document n’utilise pas de mot de passe, supprimez simplement le paramètre Password dans les méthodes Unprotect et Protect.

WordTips est votre source pour une formation Microsoft Word rentable.

(Microsoft Word est le logiciel de traitement de texte le plus populaire au monde.) Cette astuce (8258) s’applique à Microsoft Word 2007, 2010 et 2013.

Vous pouvez trouver une version de cette astuce pour l’ancienne interface de menu de Word ici:

link: / word-Updating_Fields_in_Locked_Forms [Mise à jour des champs dans les formulaires verrouillés].