Excel/vba calcul automatique/manuel

Fermé
xica1234 Messages postés 9 Date d'inscription lundi 2 février 2015 Statut Membre Dernière intervention 17 avril 2020 - 13 janv. 2018 à 19:52
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 14 janv. 2018 à 00:36
Bonjour,

J'ai un classeur excel – le classeur X – que je mets en mode de calcul manuel à son ouverture.
Lors de certaines manips sur les feuilles, je fais ActiveSheet.Calculate
Je ne veux jamais que le classeur soit recalculée en entier (il n'y a pas besoin).

Par contre, quand je change de classeur, lorsque que le classeur X est ouvert, ou quand j'ouvre un nouveau classeur alors que je viens de fermer le classeur X, je veux que dans ces autres classeurs soient en mode de calcul automatique. Pour cela, je fais :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.CalculateBeforeSave = False
Application.Calculation = xlCalculationAutomatic
End Sub

Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
Application.Calculation = xlCalculationAutomatic
End Sub

Le problème c'est que cela me recalcule à chaque fois le classeur X. Pas seulement, je n'ai pas besoin que le classeur soit recalculée car je contrôle toutes les répercussions des modifs à la main, comme en plus cela prend qlqs minutes dû à la lourdeur du classeur X.

Quelqu'un pourrait m'aider ?

Merci
A voir également:

2 réponses

eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 212
13 janv. 2018 à 20:22
Bonjour,

avec
ThisWorkbook.Saved = True
je pense que ça devrait être bon.
eric
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
14 janv. 2018 à 00:36
Bonjour,

Lorsque le fichier X reste ouvert, il n'est pas possible d'empêcher son calcul et d'autoriser le calcul du fichier actif. Dès que le calcul est en automatique, c'est tous les fichiers ouverts qui sont recalculés
0