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

Bloquer le calcul d'une feuille lorsque l'on calcule le classeur ou en calcul automatique

5 réponses
Avatar
HD
Bonjour,

Dans un classeur, j'ai de nombreuses feuilles dont une assez lourde avec de
nombreux liens. Je ne voudrais recalculer cette feuille qu'à la demande, en
vba pas de souci via ActiveSheet.Calculate dans l'événement
Worksheet_Activate, par contre comment pouvoir bloquer le calcul de cette
feuille là dans le cas d'un calcul automatique du classeur ou d'un F9 ?

Merci d'avance pour votre aide

Cordialement,

HD

5 réponses

Avatar
MichD
Bonjour,

Dans le ThisWorkbook, tu insères ceci :

'---------------------------
Private Sub Workbook_Activate()
Application.OnKey "{F9]}", "Calcul"
End Sub
'---------------------------
Private Sub Workbook_Deactivate()
Application.OnKey "{F9]}"
End Sub
'---------------------------

Dans un module standard, la macro suivante :
Reste à adapter le nom de l'onglet de la feuille en majuscule!
'----------------------------
Sub Calcul()
Dim Sh As Worksheet
For Each Sh In ThisWorkbook.Worksheets
If UCase(Sh.Name) <> "FEUIL3" Then
Sh.Calculate
End If
Next
End Sub
'----------------------------

Attention : Lorsque tu enregistres, Excel met à jour les calculs à moins
qu'il soit en mode de calcul manuel.


MichD
---------------------------------------------------------------
Avatar
MichD
Attention, il y a une erreur...
tu dois écrire : "{F9}" et non "{F9]}" comme écrit dans les macros!




MichD
---------------------------------------------------------------
Avatar
HD
Bonjour MichD,

Concernant les scripts des macros en question, ils ne fonctionnent que si le
calcul est sur manuel. Y'a-t-il moyen de bloquer le recalcul d'une feuille ?
En laissant le calcul automatique des autres feuilles ?

@+
HD
Avatar
MichD
Si tu demandes la mise à jour de toutes les feuilles par le raccourci clavier F9
comme c'est un raccourci clavier qui déclenche la mise à jour de tout le
classeur, lorsque la commande est lancée, il n'y a aucun moyen d'intercepter
ou de modifier cette commande. La seule manière que je connaisse c'est de
modifier l'action associée au raccourci clavier.

| Concernant les scripts des macros en question, ils ne fonctionnent que si le
| calcul est sur manuel

Je ne suis pas d'accord avec toi. Si tu as pris le temps de copier les procédures
dans les modules appropriées, d'enregistrer le classeur et de fermer et de
rouvrir le fichier, toutes les feuilles devraient se recalculer sauf la "FEUIL3"
À toi, d'adapter le nom de la feuille ou des feuilles que tu veux exclure.


MichD
--------------------------------------------------------------
Avatar
HD
Bonjour,

Pour info, je viens de trouver une propriété intéressante... c'est
EnableCalculation que l'on peut activer ou non sur une feuille.

@+
HD