désactiver le calcul dans certaines plages de cellules?

nickos2406

XLDnaute Junior
Bonjour,

Y aurait-il un moyen de désactiver le calcul de formules sous Excel pour une zone de cellules dans différents onglets?

J'ai un fichier assez lourd, et pour éviter que le recalcul bloque tout, je voulais savoir si par un bouton on pouvait notifier que l'on ne veut pas qu'il rafraichisse une zone de calcul...

Merci de votre aide
Cordialement,
Nicolas
 

Pierrot93

XLDnaute Barbatruc
Re : désactiver le calcul dans certaines plages de cellules?

Bonjour Nicolas,

A ma connaissance ce n'est pas possible..... ce qui est faisable, c'est mettre tous les calculs sur manuel et lancer le calcul par vba sur certaines plages....

bonne fin d'après midi
@+
 

Sofhy

XLDnaute Occasionnel
Re : désactiver le calcul dans certaines plages de cellules?

Bonjour nickos2406,

Dans outil / Option / Calcul, tu peux désactiver le calcul automatique des formules. En appuyant sur la touche F9, les formules se mettent à jour.
Par contre, ça concerne tout le classeur.

Il y a une option "Automatique sauf les tables". Je ne l'ai jamais utilisé. J'ai regardé l'aide Excel mais c'est un peu ligth.

En attendant d'autres réponses, voilà déjà une piste.

A++
Sofhy
 

CyberNeo99

XLDnaute Occasionnel
Re : désactiver le calcul dans certaines plages de cellules?

Bonjour,

La désactivatio e calcul se fait uniquement sur le classeur entier. Aucune façon de désactiver le calcul partiel, sur une plage par exemple. S'il y a une façon et bien elle serait p-e dans la version 2007 et/ou 2010....mais j'en doute fort....

En ce qui concerne la désactivation du calcul automatique 'espère que dans la version 2007 et /ou ils ont pensé de le rendre exclusif au fichier en soit et non au logiciel car par exemple si j'enlève le calcul automatique dans un fichier et que je le sauvegarde pour qu'il garde cette fonctionnalité. Que j'ouvre un fichier en premier qui a toujours la calcul automatique actif et que j'ouvre un fichier en 2e qui n'a pas le caclul automatique actif, en fait désactivé, il se retrouve à être actif puisqu'il a été ouvert en 2e et que le premier fichier ouvert a le calcul automatique activé et que le 2e ne l'avait pas lors de sa dernière sauvegarde. Je trouve ça emmerdant que ça fonctionne ainsi.

Neo ;)
 

tototiti2008

XLDnaute Barbatruc
Re : désactiver le calcul dans certaines plages de cellules?

Bonjour à tous

pour info :

Automatique sauf les tables

Concerne les tables de données (Menu Données - Tables) qui sont des sortes de plages de formules matricielles (c'est pour faire de la simulation)

Sinon on peut désactiver le calcul dans une seule feuille (en faisant passer la propriété EnableCalculation de la feuille à False) mais c'est toute la feuille
 

nickos2406

XLDnaute Junior
Re : désactiver le calcul dans certaines plages de cellules?

Bonjour,

Merci pour vos contributions... Donc, aux vues de ce que j'ai lu, j'ai réfléchi, et dans ce cas, est-il possible de ne recalculer que la feuille active?

Mon fichier se compose de 5 onglets dans lesquels il y a bcp de calculs. Cependant, seule la page active ne pourrait être recalculée? J'ai une liste déroulante qui fait référence à une liste variable sur un onglet (qui sera caché). Donc, dans "l'idéal", il faudrait pouvoir paramétrer les feuilles à mettre à jour (soit la page active + la page de référence des listes déroulantes)?

Mais je demande peut-être trop? :D

Merci encore
Nicolas...
 

Pierrot93

XLDnaute Barbatruc
Re : désactiver le calcul dans certaines plages de cellules?

Bonjour,

essaye de jouer avec la propriété EnableCalculation de la feuille, comme le suggérait toto, en l'activant / désactivant via une procédure événementielle...

bonne journée
@+
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : désactiver le calcul dans certaines plages de cellules?

Re,

regarde ceci, à utiliser dans le module "thisworkbook", se déclenche lors de l'activation / désactivation d'une feuille :

Code:
Option Explicit
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Sh.EnableCalculation = True
End Sub
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Sh.EnableCalculation = False
End Sub

@+
 

tototiti2008

XLDnaute Barbatruc
Re : désactiver le calcul dans certaines plages de cellules?

Bonjour Pierrot, Bonjour nickos,

Une remarque complémentaire en passant, avec EnableCalculation à False, la touche F9 pour forcer le recalcul ne fonctionne pas
Dès que l'on refait passer EnableCalculation à True, un recalcul a lieu
 

nickos2406

XLDnaute Junior
Re : désactiver le calcul dans certaines plages de cellules?

Bonjour,

En effet, j'ai ajouté ce code dans "thisworkbook", et ça a l'air de réagir plus vite. Merci pour vos contributions, ça m'aide énormément!

Nicolas
 
Dernière édition:

nickos2406

XLDnaute Junior
Re : désactiver le calcul dans certaines plages de cellules?

Bonjour,

Je reviens car j'ai à nouveau un soucis, et je ne comprends pas d'où viendrait la cause, sinon un bug sous Excel.

Voilà, j'ai intégré le code VBA de recalcul sur la page active uniquement, et ça fonctionnait, jusqu'à ce que j'aperçoive une coquille.

En effet, sur chaque feuille de mon fichier, j'ai un tableau avec des calculs de SOMMEPROD, et attenantes 2 colonnes qui calculent des sommes du 1er tableau, avec des formules toutes bêtes DECALER.

Aussi, ces formules DECALER, font référence à une liste déroulante qui indique le nombre de colonne à prendre en compte dans le calcul.
Ex: SOMME(DECALER($C7;0;0;;$K$6))

Le problème est désormais à ce niveau. Ces deux colonnes ne calculent plus rien, sauf si je rentre dans la cellule et que j'appuie ensuite sur la touche entrée!
Je ne comprends pas... :confused:

J'ai donc enlever le code, et rouvert mon fichier mais le pb persiste. Je viens de terminer le fichier et ce pb rendrait le travail sans plus aucun intérêt... :-(

Pourriez-vous m'aider?
Je vous envoie une copie d'écran... si ça peut vous aider? Je ne sais pas comment forcer le calcul. Sans le code VBA, et en faisant F9, ça ne fonctionne pas non plus.

Merci d'avance...
Nicolas
 

Pièces jointes

  • Image 1.png
    Image 1.png
    30.9 KB · Affichages: 252
  • Image 3.png
    Image 3.png
    23.4 KB · Affichages: 197
  • Image 1.png
    Image 1.png
    30.9 KB · Affichages: 288
  • Image 3.png
    Image 3.png
    23.4 KB · Affichages: 211
  • Image 1.png
    Image 1.png
    30.9 KB · Affichages: 272
  • Image 3.png
    Image 3.png
    23.4 KB · Affichages: 232

Pierrot93

XLDnaute Barbatruc
Re : désactiver le calcul dans certaines plages de cellules?

Bonjour,

essaye peut être en exécutant au préalable ce code sur la feuille concernée..

Code:
Sheets("NomFeuille").EnableCalculation = True

sinon, comme ça, sans voir le fichier pas trop d'autre idée...

bonne journée
@+
 

nickos2406

XLDnaute Junior
Re : désactiver le calcul dans certaines plages de cellules?

Bonjour,

Alors, après qq sueurs froides, j'ai remarqué qu'en enlevant la protection de la feuille et du classeur, et en mettant à jour les cellules par F2+entrée, tout se recalculait...
C'est bizarre non?

Avez-vous eu déjà de telles réactions d'excel. Où aurais-je cafouillé? Et surtout comment ne pas reproduire ce pb???
Merci
Nicolas
 

Pierrot93

XLDnaute Barbatruc
Re : désactiver le calcul dans certaines plages de cellules?

Bonjour Nicolas,

A priori normal si feuille et ou classeur protégé, il faut déprotéger la feuille avant et ou le classeur avant l'exécution et reprotéger par la suite, exemple ci dessous :

Code:
Feuil1.Unprotect "toto"
'ton code
Feuil1.Protect "toto"

sinon il faut que la feuille soit protégée par vba en utilisant l'argument "UserInterfaceOnly"...

bon après midi
@+
 

nickos2406

XLDnaute Junior
Re : désactiver le calcul dans certaines plages de cellules?

Merci pour la réponse!...

Donc, si je protège la feuille via VBA, je dois écrire le code dans Thisworkbook? ou à chaque macro?

Aussi, lorsque j'aurais utilisé "UserInterfaceOnly", les cellules non cochées vérouillées pourront être accessibles?

Merci pour l'aide en tout cas, ça m'aide pas mal..
Nicolas
 

Discussions similaires

Réponses
1
Affichages
1 K

Statistiques des forums

Discussions
312 322
Messages
2 087 275
Membres
103 504
dernier inscrit
Marie28