Microsoft 365 "Unvolatile" une fonction

ricoben

XLDnaute Nouveau
Supporter XLD
Bonjour,
On remarquera à l'ouverture du fichier qu'il y a un décompte "itération..." qui se met en place avant que je puisse avoir la main sur le fichier (il est vrai j'ai activé le calcul itératif dans mes options excel..)

Une fois que j'ai travaillé mon onglet "A", je voudrais basculer sur l'onglet "Moteur_bootstrap" et lancer des simulations basés sur des calculs de l'onglet "A".

Malheureusement, lorsque j'appelle la macro "simulation..." de cet onglet, l'onglet A est "recompilé en calcul" sans garantie de bon actualisation et générant des délais de simulation inopérant.
Je mets ca sur le compte de fonctions volatiles et d'évents "change" pour l'onglet "A". Mais je n'en suis pas sur. Est ce cela?
Peut on "désactiver" le caractère volatile de fonctions externes dans une macro de manière temporaire?
J'ai pensé à mettre à ces fonctions non pas en module mais rattaché à l'onglet "A", ca ne fonctionne plus comme avant.

Merci d'avance pour votre aide.
Eric
 

ricoben

XLDnaute Nouveau
Supporter XLD
Bonjour,

Rajoutes en début de ta procédure
VB:
Application.Calculation = xlCalculationManual
puis tu reviens au calcul automatique en fin de procédure
Code:
Application.Calculation =xlCalculationAutomatic
cela devrait résoudre ton souci.
Merci, mais comme la simulation bootstrap doit stocker des calculs , le fait d'enlever la "calculation", la macro va copier x fois la même valeur
 

eriiic

XLDnaute Barbatruc
Bonjour à tous,
tes fonctions volatiles le sont car voulu et vraiment nécessaire ?
Une fonction qui reçoit en paramètre tous ses antécédents n'a pas besoin d'être volatile.
Même si ce sont des colonnes entières, ça sera toujours mieux que volatile.

Idem pour le calcul itératif. Voulu et nécessaire ou c'est un palliatif ?
eric
 

Discussions similaires

Statistiques des forums

Discussions
312 206
Messages
2 086 222
Membres
103 158
dernier inscrit
laufin