Lorsque vous travaillez avec des formulaires, vous enregistrez les formulaires en tant que modèles utilisés comme base de nouveaux documents dans Word. Il peut arriver que vous souhaitiez ajouter un champ de formulaire qui s’incrémente chaque fois que vous créez un nouveau document basé sur votre modèle de formulaire. Par exemple, vous pouvez avoir un numéro de séquence dont vous avez besoin pour un formulaire de saisie de données, ou vous pouvez utiliser un champ de formulaire pour indiquer une invoice nombre.

Word n’a pas de champs à incrémentation automatique sophistiqués. Cependant, en combinant certains des outils déjà disponibles dans Word, vous pouvez créer un modèle et un champ de formulaire pour faire l’affaire pour vous. Commencez par cette macro:

Sub AutoNew()

' Exit macro if no fields in document    If ActiveDocument.FormFields.Count = 0 Then Exit Sub    ' Create variables.

Dim OfficeAppName As String    Dim RegSection As String    Dim RegKey As String    Dim FieldObj As Object    Dim RegValue As Long

OfficeAppName = "Word 2002"

RegSection = "UserData"

RegKey = "Current Counter"

' Generate error if form field doesn't exist    On Error GoTo ErrHandler    Set FieldObj = ActiveDocument.FormFields("IncField")

' Get stored registry value, if any    RegValue = GetSetting(OfficeAppName, RegSection, RegKey, 0)

' If not previously set, set to default    If RegValue = 0 Then RegValue = 1    ' Set form field result to stored value    FieldObj.Result = CStr(RegValue)

' Increment and update invoice number    SaveSetting OfficeAppName, RegSection, RegKey, RegValue + 1 ErrHandler:

If Err <> 0 Then       MsgBox Err.Description    End If End Sub

Cette macro doit être enregistrée uniquement dans le modèle que vous utiliserez pour créer vos formulaires. La macro doit être nommée AutoNew, afin qu’elle s’exécute chaque fois qu’un document est créé basé sur le modèle de formulaire. Vous devez également vous assurer que vous disposez d’un champ de formulaire de texte dans votre document nommé IncField, qui affichera le numéro incrémentiel. Le numéro est suivi dans le registre afin qu’il puisse être consulté pour les formulaires futurs.

Notez la ligne dans la macro qui définit la variable OfficeAppName. Dans cette version de la macro, il est défini sur l’expression «Word 2002». Si vous utilisez une version différente de Word, vous devez modifier cette ligne afin qu’elle fasse référence à votre version, telle que «Word 2000» ou «Word 2003».

_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 (1329) 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-Auto-incrementing_Form_Fields [Champs de formulaire auto-incrémentés].