Copie du contenu d’un champ de formulaire (Microsoft Word)
Disons que vous développez un formulaire et que vous devez copier le contenu d’un champ de formulaire dans un autre. Par exemple, le formulaire peut avoir plusieurs pages et vous avez besoin du nom de l’utilisateur en haut de chaque page. Ce serait évidemment plus simple si l’utilisateur n’avait besoin de saisir son nom qu’une seule fois, puis il était automatiquement renseigné ailleurs dans le formulaire.
Il y a deux manières d’aborder cela. La première méthode implique le fait qu’à chaque fois que vous insérez un champ de formulaire dans un document, le contenu du champ est automatiquement mis en signet. Ainsi, vous pouvez utiliser des champs de référence de signet dans tout votre document pour faire référence à tout ce que l’utilisateur a entré dans le champ. La deuxième méthode consiste en fait à copier des informations d’un champ à un autre.
Tout d’abord, regardons la solution qui utilise des signets. Chaque fois que vous entrez un champ de formulaire dans un document, un nom lui est attribué. Ce nom dépend du type de champ de formulaire que vous avez entré. Vous pouvez découvrir le nom (et le modifier si vous le souhaitez) en cliquant avec le bouton droit sur le champ du formulaire et en choisissant Propriétés dans le menu contextuel. Cela affiche la boîte de dialogue Options de champ de formulaire et, dans la partie inférieure de la boîte de dialogue, le nom du signet du champ. (Ce sera un nom tel que Texte1.) Vous devez vous souvenir de ce nom pour le champ de formulaire dont vous souhaitez utiliser le contenu ailleurs.
Positionnez maintenant votre point d’insertion là où vous voulez que le contenu du formulaire apparaisse. Par exemple, au moment où vous souhaitez que le nom de l’utilisateur du formulaire apparaisse une deuxième ou une troisième fois. Ici, vous devez suivre ces étapes:
-
Appuyez sur Ctrl + F9 pour insérer une paire d’accolades de champ. Le point d’insertion doit être entre les accolades.
-
Tapez REF suivi du nom du champ de formulaire que vous avez noté précédemment.
Par exemple, si le nom du champ de formulaire est Texte1, vous tapez REF Text1.
-
Appuyez sur F9 pour afficher les résultats du champ au lieu des codes de champ.
Sachez que même si vous pouvez réutiliser les informations de contenu de champ de formulaire de cette manière, les informations ne sont pas mises à jour automatiquement lorsque l’utilisateur quitte le champ de formulaire. (Eh bien, c’est et ce n’est pas le cas.) Vous devez en quelque sorte faire confiance à Word à ce sujet, car le contenu des champs (le champ REF) n’est généralement pas mis à jour jusqu’à ce que vous imprimiez ou que vous regardiez un aperçu avant impression du document. (Ce comportement est contrôlé par une option de l’onglet Imprimer de la boîte de dialogue Options.) Le champ peut, bien entendu, également être mis à jour en le sélectionnant et en appuyant sur F9. L’un ou l’autre nécessite une action manuelle de la part de l’utilisateur, mais il est possible de commencer à créer des macros qui le feraient automatiquement.
La deuxième méthode générale pour copier le contenu d’un champ consiste à copier littéralement les informations d’un champ à un autre. Cela doit être fait avec une macro, et semble un peu exagéré, à la lumière de la fonctionnalité de signet déjà discutée. Cependant, il peut arriver que vous ayez réellement besoin de deux champs de formulaire dans votre document et que vous souhaitiez que le deuxième champ de formulaire soit défini par défaut sur ce que l’utilisateur a entré dans le premier champ de formulaire. Dans ce cas, vous devez noter les noms attribués aux champs du formulaire par Word. Pour les besoins de cette discussion, supposons que ces noms sont Text1 et Text2, et que vous souhaitez copier le contenu de Text1 vers Text2 dès que l’utilisateur quitte Text1. Vous pouvez utiliser la macro simple suivante:
Sub CopyField() Dim Temp as String Temp = ActiveDocument.FormFields("Text1").Result ActiveDocument.FormFields("Text2").Result = Temp End Sub
Vous devez maintenant configurer votre premier champ pour que la macro soit exécutée à chaque fois que le champ est laissé. Pour ce faire, procédez comme suit:
-
Faites un clic droit sur le premier champ. Cela affiche un menu contextuel.
-
Choisissez Propriétés dans le menu contextuel. Word affiche la boîte de dialogue Options de champ de formulaire.
-
La boîte de dialogue contient deux champs dans lesquels vous pouvez spécifier une macro à exécuter lorsque le champ est entré et quitté.
-
Utilisez la liste déroulante Quitter pour sélectionner la macro que vous venez de créer (CopyField).
-
Cliquez sur OK.
Protégez maintenant le document pour les champs et enregistrez votre modèle de formulaire. La prochaine fois que vous créerez un nouveau document à partir du modèle, l’utilisateur pourra remplir les champs. Lorsque le champ Texte1 est quitté, le champ Texte2 est instantanément mis à jour avec tout ce qui a été entré dans Texte1.
Comprenez que l’utilisateur peut alors modifier tout ce qui se trouve dans Text2; le changement consistait simplement à définir la valeur par défaut. Vous devez également comprendre que si l’utilisateur « revient en arrière » et modifie à nouveau Text1, puis quitte ce champ, le contenu de Text2 est modifié indépendamment de ce qui s’y trouvait auparavant.
_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 (1703) 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-Copying_Form_Field_Contents [Copie du contenu du champ de formulaire]
.