Steve crée des documents qui nécessitent que le nom de fichier du document soit indiqué dans l’en-tête et dans les légendes légales sur les première et deuxième pages du document. Il a créé une macro qui, une fois le nom de fichier tapé dans l’en-tête, la copie et la colle dans les champs du formulaire de texte dans les légendes aux endroits appropriés. Sa prochaine étape d’assemblage de document consiste à enregistrer le document à l’aide de la commande « Enregistrer sous ». Le document doit être enregistré en utilisant le même nom de fichier entré dans l’en-tête et les légendes.

Lorsque vous effectuez cette opération manuellement, Steve affiche la boîte de dialogue Enregistrer sous, y colle le nom du fichier, puis clique sur Enregistrer. Il a essayé de créer le code de macro pour ajouter cette étape «Enregistrer sous», mais ne peut pas comprendre comment le faire. Lorsque Word enregistre les étapes manuelles, Steve obtient quelque chose comme ce qui suit:

ActiveDocument.SaveAs FileName:="04562.sw.docx

Cela montre que Word enregistre le nom de fichier spécifique utilisé lors des étapes manuelles, mais que Steve souhaite utiliser un nom de fichier différent, en fonction de ce qui se trouve dans l’en-tête du document. Ces informations (le nom du fichier) se trouvent dans le Presse-papiers lorsque la macro est exécutée, il est donc également possible de récupérer les informations du Presse-papiers, mais Steve ne sait pas non plus comment le faire.

Puisque Steve a déjà une macro pour copier le nom du fichier, et qu’il est satisfait de cette macro, il ne devrait prendre que quelques modifications à son code pour obtenir le fichier enregistré en utilisant le nom approprié. Essayez d’ajouter le code suivant aux endroits appropriés dans votre macro existante:

Dim strTemp As String Dim MyData As DataObject Set MyData = New DataObject

MyData.GetFromClipboard strTemp = MyData.GetText(1)

ActiveDocument.SaveAs FileName:=Trim(strTemp) & ".docx"

Tant que vous avez une chaîne de texte dans le Presse-papiers que vous souhaitez utiliser pour votre nom de fichier, ce code doit fonctionner. Il ajoute même l’extension .Doc à la fin de la chaîne dans le Presse-papiers. Ce code nécessite que vous configuriez une référence pour les formulaires Microsoft dans l’éditeur VBA.

(Choisissez Références dans le menu Outils de l’éditeur.)

Bien entendu, il convient de souligner que vous souhaiterez peut-être repenser votre approche de cette macro. En fait, vous pourrez peut-être vous débarrasser de la plupart de votre code si vous adoptez une approche totalement différente. Par exemple, vous pourriez demander aux gens d’enregistrer d’abord le document, puis de référencer le nom du fichier dans le document lui-même en utilisant des champs. (Le champ FILENAME peut être utilisé à cette fin.)

Au lieu d’utiliser une macro pour copier le nom de fichier dans les première et deuxième pages du document, vous pouvez également utiliser un style défini (tel que DocTitle ou DocName) pour faire référence à votre nom de fichier, puis utiliser le champ STYLEREF ailleurs dans votre document pour faire référence à ce nom. De cette façon, il ne doit être saisi qu’une seule fois et aucune macro n’est nécessaire. Vous pouvez trouver plusieurs façons de répéter des données dans différentes zones du document sur cette page sur le site d’un MVP Word:

http://gregmaxey.mvps.org/Repeating_Data.htm

Vous pouvez également créer un UserForm pour collecter les données de l’utilisateur (pour obtenir le nom de fichier souhaité), puis enregistrer le document sous ce nom.

La macro pourrait alors attribuer le nom de fichier au champ TITLE, et n’importe où dans le document faisant référence au champ TITLE afficherait automatiquement le nom de fichier entré par l’utilisateur.

_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 (10809) s’applique à Microsoft Word 2007, 2010, 2013 et 2016. Vous pouvez trouver une version de cette astuce pour l’ancienne interface de menu de Word ici:

link: / word-Saving_in_a_Macro_Using_a_Desired_File_Name [Enregistrement dans une macro en utilisant un nom de fichier souhaité].