Optimisation module

Bonjour à toutes et tous,

Le fichier ci-joint me sers à créer des feuilles de Débit à partir de l'importation de données extérieur d'Excel.

Il est fonctionnel, je le trouve juste un peu long, du coup j'aimerai savoir s'il n'y a pas moyen de l'optimiser afin de réduire le temps d'exécution.

Pour info, j'ai remarqué que c'est quand il effectue le module "Calcul_totaux", qu'il est considérablement ralenti.

Merci d'avance pour votre aide, ;)

23debit.xlsm (157.39 Ko)

Bonsoir,

à chaque modification de valeur dans une cellule, les calculs de la feuille, du classeur sont relancés...
En début de code "Calcul" du module "Calcul_Totaux" essayez de mettre cette instruction afin de stopper les calculs :
Application.Calculation = xlCalculationManual

En fin de procédure : Application.Calculation = xlCalculationAutomatic

@ bientôt

LouReeD

Re,

Merci pour le coup de main, effectivement cela réduit le temps d'exécution ;)

A+

Bonjour,

merci pour ce retour et vos remerciements !
On pense souvent au "Screen" mais il est vrai que chaque inscription sur une feuille lance d'autres action événementielles.

C'est pourquoi souvent on en utilise 3 (la troisième avec parcimonie car en cas de "plantage" ce n'est pas agréable de se retrouver avec une feuille sans réaction) :

' en début de code
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManuel
Application.EnableEvents = False

' fin de procédure
Application.EnableEvents = True
Application.Calculation = xlClaculationAutomatic
Application.ScreenUpdating = True ' celle ci ne requière pas une mise en route par code c'est automatique "à la lecture" du End Sub comme pour le On Error Resume Next

@ bientôt

LouReeD

Re,

Merci pour ces infos que je garde bien précieusement ! 😃

a + 😁

Rechercher des sujets similaires à "optimisation module"