Dans cet article, nous nous concentrerons sur l'explication de la manière de mettre à jour automatiquement tous les champs d'un document avant de le fermer.
Nous utilisons des champs pour conserver des données susceptibles de changer ultérieurement. Donc, une fois que nous y avons apporté des modifications, nous devons mettre à jour les champs en conséquence. Et malheureusement, most de temps, nous devrons les mettre à jour manuellement.
De plus, le plus gros problème réside dans le fait que nous pouvons facilement oublier de mettre à jour les champs. Pour résoudre ce problème, nous vous proposons une macro pour mettre à jour automatiquement les champs avant de fermer le document.
Mettre à jour tous les champs avant l'impression
Vous pouvez modifier les options Word pour définir les champs de mise à jour avant l'impression en procédant comme suit :
- Tout d'abord, cliquez sur l'onglet "Fichier" puis sur "Options".
- Ensuite, dans la boîte "Options Word" ouverte, cliquez sur "Affichage" dans la colonne de gauche.
- Dans la section de droite, rendez-vous dans la partie "Options d'impression" pour cocher la case "Mettre à jour les champs avant l'impression".
- Enfin, cliquez sur "OK".
Mettre à jour automatiquement tous les champs avant de fermer le document
- Pour commencer, lancez l'éditeur VBA dans Word en appuyant sur "Alt + F11".
- Cliquez ensuite sur le projet "Normal".
- Ensuite, dans la barre de menu, cliquez sur "Insérer".
- Et sélectionnez "Module de classe".
- Cliquez ensuite sur la commande "Fenêtre de propriétés" dans la barre de menu ou appuyez sur "F4" pour la déclencher.
- Dans la fenêtre ouverte dans le coin inférieur gauche, nommez le module de classe nouvellement créé « objWordClass ».
- Dans la zone de codage, entrez les codes suivants :
Option Explicit
Public WithEvents objWord As Word.Application
Private Sub objWord_DocumentBeforeClose(ByVal objDoc As Document, varCancel As Boolean)
Dim strButtonValue As String
Application.ScreenUpdating = False
Set objDoc = ActiveDocument
objDoc.Save
strButtonValue = MsgBox("Do you want to update all fields in this document before closing?", _
vbYesNo + vbQuestion)
If strButtonValue = vbYes Then
varCancel = True
If objDoc.Fields.Count > 0 Then
With objDoc
.Fields.Update
.Save
.Close
End With
Else
MsgBox ("There is no field in this document.")
End If
Else
varCancel = False
End If
Application.ScreenUpdating = True
End Sub
- Et n'oubliez pas de cliquer sur le bouton "Enregistrer".
- Maintenant toujours sous le projet "Normal", cliquez à nouveau sur "Insérer" et sélectionnez "Module" cette fois.
- Ouvrez ensuite le module et collez ces codes :
Option Explicit Dim objWordClass As New objWordClass Public Sub AutoOpen() Set objWordClass.objWord = Word.Application End Sub
- De même, enregistrez les codes.
- La prochaine fois que vous aurez terminé de modifier un document, enregistrez-le. Et lorsque vous cliquez sur la commande "Fermer", vous recevrez la boîte de demande. Cliquez sur "Oui" pour mettre à jour tous les champs et le document sera fermé lorsque la tâche sera terminée.
Redonner vie à un document mort
Il est inévitable de rencontrer des problèmes de temps en temps lors de l'utilisation de Word. Ainsi, il est conseillé de se préparer à toute éventualité document endommagé. La meilleure façon est, bien sûr, d'obtenir à l'avance un outil de réparation spécialisé.
Introduction de l'auteur:
Vera Chen est une experte en récupération de données dans DataNumen, Inc., qui est le leader mondial des technologies de récupération de données, y compris réparer Excel et pdf réparer les produits logiciels. Pour plus d'informations, visitez www.datanumen.com





