Ne pas faire les recalculs d'une page précise

  • Initiateur de la discussion $p00ky
  • Date de début
$

$p00ky

Guest
Bonjour à toutes et à tous,

J'ai une feuille dans laquelle je fais des statistiques sur une autre feuille.
Cependant, depuis que j'ai cette nouvelle feuille, le recalcul lorsque je modifie des données de la première feuille, est lent.

Est-il possible de ne faire les recalculs de la nouvelle feuille uniquement si je le souhaite (par appuit sur un bouton, ou sélection de cette feuille, n'importe) ?

Merci d'avance !
 

Shining Hawk

XLDnaute Junior
Hug $pooky,

oui-oui, c'est possoible: il existe la propriété EnableCalculation qui a la valeur True si Excel doit recalculé automatiquement la feuille et a la valeur False dans le cas contraire.
Ex:
Dans le VBE, sur ta feuille de Stats, tu peux mettre

Private Sub Worksheet_Activate()
Feuil1.EnableCalculation = True
End Sub

Private Sub Worksheet_Deactivate()
Feuil1.EnableCalculation = False
End Sub

Bonne prog
A+

Message édité par: shining hawk, à: 23/08/2005 16:17
 

2passage

XLDnaute Impliqué
Bonjour,

moué... t'es en service minimum - vacances ?.... ta touche F1 ne marche plus ?... bon ben copie de l'aide alors... :) :)

CALCULATE

Cette méthode calcule tous les classeurs ouverts, une feuille de calcul particulière dans un classeur ou une plage de cellules déterminée dans une feuille de calcul, comme indiqué dans le tableau ci-dessous.

Pour calculer Exemple
tous les classeurs ouverts : Application.Calculate (ou simplement Calculate)
une feuille de calcul particulière : Worksheets(1).Calculate
une plage déterminée : Worksheets(1).Rows(2).Calculate

Pense à regarder l'aide de temps en temps, elle n'est pas si mal faite :p ;)

A+
 
$

$p00ky

Guest
Merci beaucoup Shining Hawk c'est exactement ce que je voulais !

2passage, j'suis juste intérimaire l'été, et en prépa l'année scolaire.
T'inquiètes, la touche F1 marche encore, mais ce que je cherchais, c'était le contraire : bloquer le calcul d'une feuille et non pas le lancer.
Merci quand même

@+
 

JeanMarie

XLDnaute Barbatruc
Bonjour

Une autre possibilité

Code:
Public Sub OuiNon()
If Sheets('Feuil1').EnableCalculation Then
   Sheets('Feuil1').EnableCalculation = False
Else
   Sheets('Feuil1').EnableCalculation = True
   Sheets('Feuil1').Calculate
End If
End Sub

@+Jean-Marie
 

Discussions similaires

Statistiques des forums

Discussions
312 330
Messages
2 087 342
Membres
103 524
dernier inscrit
Smile1813