Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

accélérer une fonction

tinet

XLDnaute Impliqué
bonjour à tous,

j'ai créé une macro qui doit exécuter des tâches automatiques sur un fichier.
le lancement de ces tâches est relativement longue, ce qui ralentit énormément d'exécution de excel.

J'avais trouvé à une époque une fonction à rajouter qui permettait d'accélérer les fonctions en VBA.

Il me semble que cette fonction masquée l'exécution à l'écran du calcul, ce qui permettait de gagner du temps.

En attente d'une solution merci.
 

Pierrot93

XLDnaute Barbatruc
Re : accélérer une fonction

Bonjour,

essaye peut être ceci :

Code:
With Application
    .ScreenUpdating = False
    .Calculation = xlCalculationManual
End With
'ton code
With Application
    .ScreenUpdating = False
    .Calculation = xlCalculationAutomatic
End With

A voir également s'il n'y a pas lieu de désactiver ponctuellement les procédures événementieles :
Code:
    Application.EnableEvents = False
ne pas oublier de remettre la propriété à "true" en fin de procédure...

bonne journée
@+
 
C

Compte Supprimé 979

Guest
Re : accélérer une fonction

Bonjour,

En complément de ce qu'à donné Pierrot93 (que je salue )

Tu peux ajouter aussi : EnableEvents
Ce qui empêche les évènements diverses lors de la modification de cellules ou autre
VB:
With Application
  .EnableEvents = False
  .ScreenUpdating = False
  .Calculation = xlCalculationManual
End With
'ton code
With Application
  .EnableEvents = True
  .ScreenUpdating = False
  .Calculation = xlCalculationAutomatic
End With

A+
 

Discussions similaires

Réponses
12
Affichages
558
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…