Désactiver calculs sauf pour l'onglet actif

Bonjour

Je suis en train de créer un fichier assez conséquent (beaucoup d'onglet) et la taille de mon fichier augmente a vu d'oeil et cela le rallenti du fait qu'il y a beaucoup de calculs...

J'essai donc de trouver le code qui me permetterais à l'ouverture d'un onglet de désactiver les calculs de tous les autres onglets mais de garder les calculs pour l'onglet activé..

J'ai essayé avec des "EnableCalculation = True/False" mais ca en fonctionne pas comme je le souhaiterais ...

Merci d'avance pour votre aide

Pepito

Bonsoir,

l'option Excel de calcul auto ou manuel est à porter "global" je crois, j'en veux pour "preuve" l'instruction qui permet de le mettre en manuel, ou en automatique :

Application.Calculation = xlManual

Application.Calculation = xlAutomatic

Ceci dit il existe des variante afin de n'effectuer les calcul que sur une feuille donnée, donc le truc serait d'enlever les calculs automatiques :

Application.Calculation = xlManual

puis dans vos macros, lorsque vous devez mettre à jour les calculs pour la suite de la macro, je crois qu'il suffit de mettre :

Calculate

à ce moment là le portée des calcul se fait uniquement sur la feuille active.

Ceci dit c'est à vérifier.

@ bientôt

LouReeD

Bonjour,

ou bien :

Worksheets("Feuil1").EnableCalculation = False

A rétablir lors du besoin car F9 ne recalculera pas la feuille.

Mais les formules ne sont ré-évaluées que si les antécédents changent, pas à chaque fois. A moins d'utiliser beaucoup de fonctions volatiles, decaler() et indirect() le sont bien que ça ne saute pas aux yeux.

eric

Bonjour à tous,

Ou alors,ne calculer le classeur que sur lancement d'une macro, lancée depuis un bouton se trouvant sur toutes les feuilles (et sur combinaison de touches)... Un peu comme les TCD, qui ne sont pas actualisés automatiquement pour les mêmes raisons que celles invoquées ici... La syntaxe est dans les réponses précédentes, il me semble...

A+ Daniel

Re,

et on peut ne recalculer qu'une feuille, ou même une plage :

Worksheets("Feuil1").calculate
Worksheets("Feuil2").[B:E].calculate

Ne pas oublier de ré-évaluer les antécédents pour les formules qui en ont.

eric

Merci à tous pour votre aide,

Grâce à vous j'ai pu m'en sortir

Pepito

Rechercher des sujets similaires à "desactiver calculs sauf onglet actif"