Mise à jour des champs calculés dans un formulaire (Microsoft Word)
Word vous permet de créer des formulaires spéciaux qui reposent sur des champs pour la collecte d’informations. Ces formulaires peuvent être protégés afin que le texte en dehors des champs de formulaire ne puisse pas être modifié par les utilisateurs. D’autres numéros de WordTips ont discuté de la manière dont les formulaires peuvent être créés.
Lorsque vous créez un formulaire, vous devrez peut-être parfois demander à Word de mettre à jour le contenu des champs calculés dans le formulaire. Si vous cochez la case Mettre à jour les champs dans l’onglet Imprimer de la boîte de dialogue Options, les champs sont calculés automatiquement lors de l’impression d’un document. Dans les versions de Word antérieures à Word 2000, les champs sont également calculés automatiquement lorsque vous utilisez l’aperçu avant impression. (Cela a changé dans Word 2000; une véritable impression est nécessaire.) Mais que faire si vous ne voulez pas imprimer le document entier et gaspiller du papier juste pour voir quel est le résultat des calculs?
La solution consiste à créer une macro simple et à affecter la macro à un bouton de la barre d’outils. La macro suivante fera très bien l’affaire:
Sub UpdateFields() Dim rngStory As Range For Each rngStory In ActiveDocument.StoryRanges rngStory.Fields.Update Next rngStory End Sub
Il est important que la macro soit affectée à un bouton de la barre d’outils car un formulaire protégé ne permet pas d’accéder aux macros via le menu.
Cette approche, bien sûr, nécessite que l’utilisateur se souvienne de cliquer sur le bouton pour actualiser tous les champs. Si vous préférez, vous pouvez affecter la macro à l’événement OnExit de n’importe quel champ de formulaire. Ainsi, chaque fois que le champ était « sorti », la macro était exécutée. Un abonné de WordTips a également suggéré la macro suivante comme macro OnExit pour mettre à jour les champs:
Sub UpdateRefsInForm() Application.ScreenUpdating = False If ActiveWindow.View.Type = wdPageView Then ActiveWindow.ActivePane.View.Type = wdNormalView Else ActiveWindow.View.Type = wdPageView End If If ActiveWindow.ActivePane.View.Type = wdNormalView Then ActiveWindow.ActivePane.View.Type = wdPageView Else ActiveWindow.ActivePane.View.Type = wdNormalView End If End Sub
Cette macro est plutôt intelligente, en ce sens qu’elle ne fait que passer de la vue dans laquelle vous vous trouvez (vue normale ou page) à l’autre vue, puis à nouveau. Cette modification du mode d’affichage oblige Word à mettre à jour les champs.
_Note: _
Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites WordTips), j’ai préparé une page spéciale qui comprend des informations utiles.
lien: / wordribbon-WordTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur]
.
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 (1445) s’applique à Microsoft Word 97, 2000, 2002 et 2003. Vous pouvez trouver une version de cette astuce pour l’interface ruban de Word (Word 2007 et plus tard) ici:
link: / wordribbon-Updating_Calculated_Fields_in_a_Form [Mise à jour des champs calculés dans un formulaire]
.