Bloquer le calcul d'une feuille lorsque l'on calcule le classeur ou en calcul automatique
5 réponses
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 ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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.
'---------------------------
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.
'--------------------------- 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.
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
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 ?
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
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.
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.
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.