Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

(vba) empêcher calcul automatique sur une (seule) feuille

4 réponses
Avatar
j-pascal
Bonjour,

J'ai un classeur avec plusieurs feuilles qui fonctionnent
indépendemment les unes des autres. L'une d'entre elles possède de très
nombreuses formules, qui ralentissent (évidemmment) les opérations
faites sur les feuilles voisines ...

Si j'utilise : Application.Calculation = xlManual
... j'imagine que c'est tout le classeur qui va être affecté (?)

Est-il possible de désactiver le calcul automatique pour une seule
feuille (celle où il y a les nombreuses formules) ... et de le
réactiver à partir d'un Sheet(n).activate (par exemple) ?

Merci d'avance pour vos lumières,

Bon week-end

JP

4 réponses

Avatar
LSteph
Bonsoir,

oui!
mais cela ne changera rien à ton pb
en revanche si tu la mets dans un autre classeur elle y sera aussi bien,
non?

@+

--
lSteph

j-pascal a écrit :
Bonjour,

J'ai un classeur avec plusieurs feuilles qui fonctionnent indépendemment
les unes des autres. L'une d'entre elles possède de très nombreuses
formules, qui ralentissent (évidemmment) les opérations faites sur les
feuilles voisines ...

Si j'utilise : Application.Calculation = xlManual
... j'imagine que c'est tout le classeur qui va être affecté (?)

Est-il possible de désactiver le calcul automatique pour une seule
feuille (celle où il y a les nombreuses formules) ... et de le réactiver
à partir d'un Sheet(n).activate (par exemple) ?

Merci d'avance pour vos lumières,

Bon week-end

JP




Avatar
j-pascal
LSteph avait prétendu :
Bonsoir,

oui!
mais cela ne changera rien à ton pb
en revanche si tu la mets dans un autre classeur elle y sera aussi bien, non?

@+

--
lSteph

j-pascal a écrit :
Bonjour,

J'ai un classeur avec plusieurs feuilles qui fonctionnent indépendemment
les unes des autres. L'une d'entre elles possède de très nombreuses
formules, qui ralentissent (évidemmment) les opérations faites sur les
feuilles voisines ...

Si j'utilise : Application.Calculation = xlManual
... j'imagine que c'est tout le classeur qui va être affecté (?)

Est-il possible de désactiver le calcul automatique pour une seule feuille
(celle où il y a les nombreuses formules) ... et de le réactiver à partir
d'un Sheet(n).activate (par exemple) ?

Merci d'avance pour vos lumières,

Bon week-end

JP







Bonjour Stéphane,

Ton "oui" répond à ma première ou deuxième question ? ;-)
Dans ce classeur (qui est en partage ...), j'ai plusieurs
"sous-applications" distribuées dans différents onglets (avec des
macros spécifiques dans des modules de feuilles) ; je souhaite
conserver un seul classeur (pour des raisons de MAJ, sauvegardes,
partage, etc...).
Je pensais qu'il était peut-être possible d'utiliser un "commutateur"
pour "shunter" les recalculs de ma feuille "fautive" ...

@+ ?

JP
Avatar
Papyjac
Bonjour J-pascal,

Si tu poses 2 question en même il faut de débrouiller avec la réponse

Bon, je pense qu'on peut désactiver les calculs pour l'ensemble du classeur,
et ne recalculer que la feuille qui a été modifiée en utilisant l'événement
QUAND RECALCUL
Dans cette événement tu dois exclure la fameuse feuille qui prends du temps
puis recalculer WORKSHEET.CALCULATE

--
Papyjac


"j-pascal" a écrit :

LSteph avait prétendu :
> Bonsoir,
>
> oui!
> mais cela ne changera rien à ton pb
> en revanche si tu la mets dans un autre classeur elle y sera aussi bien, non?
>
> @+
>
> --
> lSteph
>
> j-pascal a écrit :
>> Bonjour,
>>
>> J'ai un classeur avec plusieurs feuilles qui fonctionnent indépendemment
>> les unes des autres. L'une d'entre elles possède de très nombreuses
>> formules, qui ralentissent (évidemmment) les opérations faites sur les
>> feuilles voisines ...
>>
>> Si j'utilise : Application.Calculation = xlManual
>> ... j'imagine que c'est tout le classeur qui va être affecté (?)
>>
>> Est-il possible de désactiver le calcul automatique pour une seule feuille
>> (celle où il y a les nombreuses formules) ... et de le réactiver à partir
>> d'un Sheet(n).activate (par exemple) ?
>>
>> Merci d'avance pour vos lumières,
>>
>> Bon week-end
>>
>> JP
>>
>>

Bonjour Stéphane,

Ton "oui" répond à ma première ou deuxième question ? ;-)
Dans ce classeur (qui est en partage ...), j'ai plusieurs
"sous-applications" distribuées dans différents onglets (avec des
macros spécifiques dans des modules de feuilles) ; je souhaite
conserver un seul classeur (pour des raisons de MAJ, sauvegardes,
partage, etc...).
Je pensais qu'il était peut-être possible d'utiliser un "commutateur"
pour "shunter" les recalculs de ma feuille "fautive" ...

@+ ?

JP





Avatar
j-pascal
Papyjac a présenté l'énoncé suivant :
Bonjour J-pascal,

Si tu poses 2 question en même il faut de débrouiller avec la réponse

Bon, je pense qu'on peut désactiver les calculs pour l'ensemble du classeur,
et ne recalculer que la feuille qui a été modifiée en utilisant l'événement
QUAND RECALCUL
Dans cette événement tu dois exclure la fameuse feuille qui prends du temps
puis recalculer WORKSHEET.CALCULATE

--
Papyjac


"j-pascal" a écrit :

LSteph avait prétendu :
Bonsoir,

oui!
mais cela ne changera rien à ton pb
en revanche si tu la mets dans un autre classeur elle y sera aussi bien,
non?

@+

--
lSteph

j-pascal a écrit :
Bonjour,

J'ai un classeur avec plusieurs feuilles qui fonctionnent indépendemment
les unes des autres. L'une d'entre elles possède de très nombreuses
formules, qui ralentissent (évidemmment) les opérations faites sur les
feuilles voisines ...

Si j'utilise : Application.Calculation = xlManual
... j'imagine que c'est tout le classeur qui va être affecté (?)

Est-il possible de désactiver le calcul automatique pour une seule feuille
(celle où il y a les nombreuses formules) ... et de le réactiver à partir
d'un Sheet(n).activate (par exemple) ?

Merci d'avance pour vos lumières,

Bon week-end

JP







Bonjour Stéphane,

Ton "oui" répond à ma première ou deuxième question ? ;-)
Dans ce classeur (qui est en partage ...), j'ai plusieurs
"sous-applications" distribuées dans différents onglets (avec des
macros spécifiques dans des modules de feuilles) ; je souhaite
conserver un seul classeur (pour des raisons de MAJ, sauvegardes,
partage, etc...).
Je pensais qu'il était peut-être possible d'utiliser un "commutateur"
pour "shunter" les recalculs de ma feuille "fautive" ...

@+ ?

JP








Bonjour,

(Avec beaucoup de retard ...) Merci !

JP