Accélérer l’exécution de vos procédures VBA

Lors de l’exécution de vos procédures le développeur a habituellement une bonne idée de la quantité de données qui devront être manipulées. Le développeur doit rendre l’exécution des procédures rapide et efficace.

Calcul des formules.

Nous devons savoir que lorsque la valeur d’une cellule est modifiée et qu’une autre cellule utilise cette valeur dans une formule, la modification par macro de la valeur va entraîner un recalcul de toutes les formules du classeur. Ce phénomène est aussi vrai pendant l’exécution d’une procédure VBA.

Lors de l’exécution d’une série d’instruction, le recalcul des formules qui survient à travers l’exécution peut ralentir considérablement le temps nécessaire pour terminer la procédure.

Notre équipe de développeurs s’assure habituellement de ne pas avoir des formules dynamiques qui sont recalculées lors de chacune des actions de nos procédures. La technique est simple : elle consiste à forcer les calculs dans Visual Basic et à simplement déposer les résultats calculés dans les utilitaires. Pour les développeurs moins expérimentés qui sentent le besoin de calculer dans Microsoft Excel, nous ajoutons à la procédure un simple copier collage spécial value.

Désactivé les calculs automatique

Les exemples ci-bas nous montrent la possibilité de suspendre les calculs automatiques, de forcer le calcul ou de réintégrer les calculs automatiques selon nos besoins.

Suspendre les calculs

blogue template excel accelerer 1

Forcer les calculs

blogue template excel accelerer 2

Réintégrer le calcul automatique

blogue template excel accelerer 3

Une bonne manière d’utiliser cette astuce est de suspendre les calculs automatiques en début de procédure et bien sûr de les réintégrer avant la fin de la procédure. Si lors de l’exécution de la procédure, la logique de la procédure demande d’avoir de données calculées vous devrez alors forcer le calcul.

Ces trois exemples d’instruction qui affecte la propriété Calculation de l’objet Application peuvent être aussi utilisés par les usagés sans VBA, à partir du ruban Fichier/ Options /formules

blogue template excel accelerer 4

Ce contenu a été publié dans Trucs et astuces. Vous pouvez le mettre en favoris avec ce permalien.

Une réponse à Accélérer l’exécution de vos procédures VBA

  1. Ping : Astuces pour accélérer l’exécution d’une macro. | Chroniques du Développeur

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *