Dans un environnement professionnel, il n’est pas inhabituel d’imprimer plusieurs copies d’un document. Parfois, il est avantageux de numéroter les copies. Par exemple, la première copie aurait (peut-être dans un en-tête ou un pied de page) le texte «Copie 1», la seconde aurait «Copie 2», sur autant de copies que vous avez.

Une option, bien sûr, consiste à imprimer les copies individuelles du document, en apportant les modifications au numéro de copie entre chaque impression. Cela devient fastidieux, très vite. Vous pouvez également utiliser un champ de numérotation séquentielle (comme indiqué dans d’autres WordTips) et rendre le nombre de copies égal à ce que vous devez imprimer. Ainsi, si vous devez imprimer 25 copies, vous pouvez simplement copier le document entier (y compris le champ de numérotation séquentielle), aller à la fin du document et le coller 24 fois de plus. Cependant, cela donne un document global assez volumineux et il existe des moyens plus faciles d’aborder le problème.

La solution la plus simple à ce problème (à l’exception de l’utilisation d’une macro) consiste peut-être simplement à utiliser les fonctionnalités de publipostage de Word. Vous utiliseriez une source de données simple contenant les numéros que vous souhaitez attribuer à chaque copie. Ensuite, placez le champ de fusion à l’endroit approprié dans votre document et exécutez la fusion. Chaque copie contiendra le numéro de copie souhaité. L’avantage supplémentaire de l’utilisation de cette approche est que vous pouvez utiliser des informations supplémentaires avec votre fusion, selon les besoins. Par exemple, si chaque copie du document a été attribuée à une personne en particulier, vous pouvez simplement ajouter un autre champ de données à votre source de données contenant le nom de la personne qui recevra la copie. Ensuite, vous pouvez également imprimer le nom de cette personne dans chaque document fusionné.

Si vous préférez, vous pouvez utiliser une macro pour imprimer vos copies numérotées.

Par exemple, la macro suivante vous demande combien de copies vous souhaitez imprimer, ainsi que le numéro de copie de départ à utiliser. (Cela est très pratique si vous imprimez 25 copies, puis que quelqu’un vous demande d’imprimer un deuxième lot de 10, numéroté de 26 à 35.) La macro stocke également le dernier numéro de copie entre les sessions, de sorte qu’il soit utilisé par défaut lors de la prochaine exécution de la macro.

Public Sub PrintNumberedCopies1()

Dim varItem As Variable     Dim bExists As Boolean     Dim lCopiesToPrint As Long     Dim lCounter As Long     Dim lCopyNumFrom As Long

' ensure our doc variable exists     bExists = False     For Each varItem In ActiveDocument.Variables         If varItem.Name = "CopyNum" Then             bExists = True             Exit For         End If     Next varItem

' initialize document variable if doesn't exist     If Not bExists Then         ActiveDocument.Variables.Add _             Name:="CopyNum", Value:=0     End If

' ask how many to print     lCopiesToPrint = InputBox( _         Prompt:="How many copies?", _         Title:="Print And Number Copies", _         Default:="1")



' ask where to start numbering     lCopyNumFrom = CLng(InputBox( _         Prompt:="Number at which to start numbering copies?", _         Title:="Print And Number Copies", _         Default:=CStr(ActiveDocument.Variables("CopyNum") + 1)))



' loop through the print-write-print cycle     For lCounter = 0 To lCopiesToPrint - 1         ' update the document variable         ActiveDocument.Variables("CopyNum") = _             lCopyNumFrom + lCounter         ' print this numbered copy         ActiveDocument.PrintOut Copies:=1     Next lCounter End Sub

Pour utiliser cette macro, vous devez effectuer deux autres opérations.

Tout d’abord, vous devez indiquer dans votre document où vous souhaitez que le numéro de copie apparaisse. Au point où il doit s’imprimer, insérez simplement le champ suivant (rappelez-vous que vous insérez les accolades de champ en appuyant sur Ctrl + F9):

{ DOCVARIABLE "CopyNum" }

La deuxième chose que vous devez faire est de vous assurer que Word est configuré de sorte qu’il met à jour les champs lors de son impression. Maintenant, lorsque vous exécutez la macro, il vous est demandé combien de copies à imprimer et quel numéro de départ utiliser. La variable de document est mise à jour et une seule copie du document est imprimée. Ces étapes sont répétées le nombre de fois que vous avez choisi d’imprimer.

Malheureusement, cette solution de macro ne fonctionnera pas dans toutes les versions de Word. Par exemple, si vous placez le champ DOCVARIABLE dans l’en-tête d’un document Word 97 et imprimez puis le document, Word se plantera rapidement.

Comment contourner cela? Utilisez simplement une approche différente. (Word n’est rien, sinon flexible.) La macro suivante fonctionne dans toutes les versions modernes de Word. Il s’agit d’une variante de la version antérieure qui repose sur l’utilisation de propriétés de document personnalisées au lieu de variables de document.

Public Sub PrintNumberedCopies2()

Dim varItem As DocumentProperty     Dim bExists As Boolean     Dim lCopiesToPrint As Long     Dim lCounter As Long     Dim lCopyNumFrom As Long

' ensure our doc variable exists     bExists = False     For Each varItem In ActiveDocument.CustomDocumentProperties         If varItem.Name = "CopyNum" Then             bExists = True             Exit For         End If     Next varItem

' initialize document variable if doesn't exist     If Not bExists Then         ActiveDocument.CustomDocumentProperties.Add _             Name:="CopyNum", LinkToContent:=False, _             Type:=msoPropertyTypeNumber, Value:=0     End If

' ask how many to print     lCopiesToPrint = InputBox( _         Prompt:="How many copies?", _         Title:="Print And Number Copies", _         Default:="1")



' ask where to start numbering     lCopyNumFrom = CLng(InputBox( _         Prompt:="Number at which to start numbering copies?", _         Title:="Print And Number Copies", _         Default:=CStr(ActiveDocument.CustomDocumentProperties("CopyNum") + 1)))



' loop through the print-write-print cycle     For lCounter = 0 To lCopiesToPrint - 1         ' update the document variable         ActiveDocument.CustomDocumentProperties("CopyNum") = _             lCopyNumFrom + lCounter         ' print this numbered copy         ActiveDocument.PrintOut Copies:=1     Next lCounter End Sub

Pour utiliser cette macro, vous devez effectuer deux autres opérations.

Tout d’abord, vous devez indiquer dans votre document où vous souhaitez que le numéro de copie apparaisse. Au point où il doit s’imprimer, insérez simplement le champ suivant (rappelez-vous que vous insérez les accolades de champ en appuyant sur Ctrl + F9):

{ DOCPROPERTY "CopyNum" }

Lorsque vous insérez le champ pour la première fois, vous pouvez voir un message d’erreur renvoyé par le champ, tel que «Erreur! Nom de propriété de document inconnu». Ne t’inquiète pas; cela disparaîtra et sera remplacé par le numéro de copie approprié après avoir exécuté la macro.

La deuxième chose que vous devez faire est de vous assurer que Word est configuré de sorte qu’il met à jour les champs lors de son impression. Maintenant, lorsque vous exécutez la macro, il vous est demandé combien de copies à imprimer et quel numéro de départ utiliser. La variable de document est mise à jour et une seule copie du document est imprimée. Ces étapes sont répétées le nombre de fois que vous avez choisi d’imprimer.

_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 (844) 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:

lien: / wordribbon-Printing_Copy_Numbers [Impression des numéros de copie].