Partager via

Bonjour, J'ai un problème avec une macro VBA Word dont l'exécution est très longue

Anonyme
2025-07-05T12:42:19+00:00

J'ai un problème avec une macro VBA Word créée il y a longtemps et dont l'exécution était rapide. Maintenant, sous Word 2019 ou 2021, la macro est très logue à s'exécuter, pratiquement 3 minutes. Je pense que la macro a besoin d'être mise à jour et ou optimisée, mais je sais pas comment.

Il s'agit d'une macro destinée à remplacer un mot par un autre, mettre à jour des champs, les entêtes et pieds de page.

La voici :

Sub maj_champs()

' Remplacement pour mettre une majuscule à Docteur

' Si vous souhaitez lancer la recherche par le début du document, vous devez déplacer la sélection vers le début de votre document avec :

Selection.HomeKey Unit:=wdStory

Application.ScreenUpdating = False

With Selection.Find

.Forward = True 

.Text = "docteur" 

    .Replacement.Text = "Docteur" 

    .Execute 

End With 

Selection.Find.Execute Replace:=wdReplaceAll 

'

' maj_champs Macro

'

'

'Mise a jour du corps du document

For Each champ In ActiveDocument.Range.Fields

champ.Update

Next champ

'Mise a jour des En-tetes et Pieds-de-page de la Section 1

'Declaration ds variables

Dim oField As Field

Dim oHeader As HeaderFooter

Dim oFooter As HeaderFooter

'Mise a jour des En-tetes de la Section 1

For Each oHeader In ActiveDocument.Sections(1).Headers

If oHeader.Exists Then

For Each oField In oHeader.Range.Fields

oField.Update

Next oField

End If

Next oHeader

'Mise a jour des Pieds-de-page de la Section 1

For Each oFooter In ActiveDocument.Sections(1).Footers

If oFooter.Exists Then

For Each oField In oFooter.Range.Fields

oField.Update

Next oField

End If

Next oFooter

'Masquer le texte caché de la conclusion

ActiveWindow.View.ShowHiddenText = False

Application.ScreenUpdating = True

End Sub

Merci pour votre aide.

Samuel

Microsoft 365 et Office | Word | Pour la maison | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire

2 réponses

  1. Anonyme
    2025-07-05T22:14:07+00:00

    Il n'est pas évident de te répondre. Chez moi (sur un document de test, évidement) la macro s'exécute instantanément. Il faut donc voir ce que contien(en)t le(s) document(s) au(x)quel(s) elle s'applique. Qu'observes-tu si tu lances une exécution en "pas à pas détaillé" ?

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  2. Anonyme
    2025-07-05T16:15:18+00:00

    Cette réponse a été automatiquement traduite. Par conséquent, il peut y avoir des erreurs grammaticales ou des formulations étranges.

    Bonjour, SamuMa

    Bienvenue dans la communauté Microsoft. Merci de prendre en charge les produits Microsoft et de partager les problèmes en détail avec la communauté !

    J’aimerais pouvoir aider, mais les macros sont une fonctionnalité plus avancée, et cette communauté n’a pas l’expertise nécessaire pour les gérer.

    Je suggérerais que vous pourriez envisager de commencer une question dans un forum qui se concentre davantage sur des problèmes tels que Stack Overflow. Vous pouvez utiliser des balises vba et d’autres balises associées pour publier des questions de programmation VBA surStack Overflow. Vous obtiendrez des réponses plus rapides à vos questions dans la communauté VBA dédiée.

    Clause de non-responsabilité : Microsoft ne fournit aucune garantie, implicite ou autre, et n’est pas responsable des informations que vous recevez de sites tiers liés ou de tout support lié à la technologie.

    J’espère qu’après avoir contacté la bonne communauté, vous serez en mesure d’obtenir des conseils utiles. Dans le temps réel, nous garderons également ce fil ouvert pour que d’autres bénévoles de la communauté qui pourraient être familiers avec cette question puissent vous aider.

    Sinceres salutations

    Ami | Spécialiste du support communautaire Microsoft

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire