Les macros, une fois qu’elles fonctionnent correctement, peuvent nous faciliter la vie. (S’ils ne fonctionnent pas correctement, la vie n’est certainement pas facile.) Si vous avez une macro qui fait beaucoup de travail pour vous, vous voudrez peut-être essayer de la faire fonctionner plus rapidement.

La première tâche à faire, bien sûr, est d’examiner la macro et de voir si vos algorithmes (la façon dont vous avez décidé de faire les choses) sont aussi efficaces qu’ils peuvent l’être. Une fois que vous êtes convaincu qu’ils le sont, vous pouvez également accélérer vos macros en plaçant simplement plusieurs instructions sur la même ligne. Considérez la simple macro suivante, qui trouve l’occurrence précédente de quelque chose dans un document:

Sub PrevFind()

With Selection.Find       .ClearFormatting       .Forward = False       .Wrap = wdFindAsk       .Execute    End With End Sub

Cette macro est très simple. Lorsque vous enregistrez la macro, les instructions qu’elle contient sont analysées en jetons de trois octets qui peuvent être exécutés plus efficacement par VBA. (Vous ne voyez jamais les jetons; vous ne voyez que l’équivalent en macro-langage des jetons.) Lorsque la macro est en cours d’exécution, le processeur de commandes VBA saisit une ligne à la fois et exécute tous les jetons sur cette ligne. Ainsi, dans ce qui précède, il y a huit lignes qui sont individuellement extraites et exécutées par le processeur.

Considérons maintenant la version suivante de la même macro:

Sub PrevFind()

With Selection.Find    .ClearFormatting: .Forward = False: .Wrap = wdFindAsk: .Execute End With: End Sub

Cette version semble beaucoup plus courte car les lignes individuelles ont été concaténées et séparées par deux points. Cela diminue la lisibilité de la macro, mais augmente la vitesse à laquelle elle s’exécute. Pourquoi?

Parce que le processeur de commandes VBA saisit toujours une ligne à la fois pour traiter. Dans ce cas, il n’y a que quatre lignes à saisir. Moins de «temps de saisie» signifie que l’exécution est plus rapide. La troisième ligne de cette macro, qui occupait auparavant quatre lignes, est désormais traitée comme une seule ligne.

Mettre plusieurs instructions sur la même ligne diminue la lisibilité d’une macro. En fonction de vos besoins, cependant, cela pourrait être un compromis équitable pour l’augmentation de vitesse que vous pourriez obtenir. Vous devrez essayer cette technique dans vos propres macros pour voir si cela vous convient.

_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 (1640) s’applique à Microsoft Word 97, 2000, 2002 et 2003.