Linda a demandé s’il existe un moyen de calculer uniquement le classeur actif.

Lorsqu’un recalcul est effectué par Excel, il recalcule tous ses classeurs ouverts, et s’il s’agit de très gros classeurs, le recalcul peut parfois prendre plus de quinze minutes. Si elle est capable de limiter ce qui est recalculé, alors le processus sera évidemment plus rapide.

Malheureusement, il n’existe pas de méthode directe pour calculer simplement un classeur particulier. Vous pouvez toutefois calculer uniquement la feuille de calcul active, si vous le souhaitez. Tout d’abord, définissez le mode de recalcul sur manuel en suivant ces étapes:

  1. Affichez la boîte de dialogue Options Excel. (Dans Excel 2007, cliquez sur le bouton Office, puis sur Options Excel. Dans Excel 2010 et les versions ultérieures, affichez l’onglet Fichier du ruban, puis cliquez sur Options.)

  2. Cliquez sur la zone Formules à gauche de la boîte de dialogue. (Voir la figure 1.)

  3. Dans la section Options de calcul de la boîte de dialogue, assurez-vous que le bouton radio Manuel est sélectionné.

  4. Cliquez sur OK.

Désormais, le seul moment où votre classeur (en fait, tous vos classeurs ouverts) sera recalculé est lorsque vous appuyez sur F9. Si vous souhaitez recalculer uniquement la feuille de calcul actuelle, appuyez sur Maj + F9.

Excel fournit également des fonctions de macro qui vous permettent d’effectuer l’une de ces trois choses: calculer tous les classeurs ouverts, calculer une feuille de calcul spécifique dans un classeur ou calculer une plage de cellules spécifiée dans une feuille de calcul. Avec cette connaissance, vous pouvez créer une macro qui parcourt toutes les feuilles de calcul d’un classeur et recalcule chacune d’elles.

La macro suivante définit le mode de calcul sur manuel (afin que les autres classeurs ne calculent pas), puis effectue une boucle et calcule chaque feuille du classeur actif.

Sub CalcBook()

Dim wks As Worksheet     Application.Calculation = xlManual     For Each wks In ActiveWorkbook.Worksheets         wks.Calculate     Next     Set wks = Nothing End Sub

Si vous pensez que vous voudrez peut-être calculer différentes parties de votre classeur à des moments différents, vous pouvez développer la macro afin qu’elle exécute tout type de calcul que vous souhaitez:

Sub CalcWhat()

Dim iAnsure As Integer

Application.Calculation = xlManual     iAnsure = InputBox("1 = Calculate A Used Range" _       & vbCrLf & _       "2 = Calculate This Worksheet" _       & vbCrLf & _       "3 = Calculate This Workbook" _       & vbCrLf & _       "4 = Calculate All Workbooks in Memory" _       & vbCrLf & vbCrLf & _       "Input Your Selection Number From Above" _       & vbCrLf & "Then Click OK", _       "Calculate What?", "Input Number Please", _       5000, 5000)



Select Case iAnsure         Case 1 'Range Only             Selection.Calculate         Case 2 'Worksheet Only             ActiveSheet.Calculate         Case 3 'Workbook Only             For Each wks In ActiveWorkbook.Worksheets                 wks.Calculate             Next         Case 4 'All Open Workbooks             Application.CalculateFull         End     End Select End Sub

Cette macro présente une zone de saisie qui demande à l’utilisateur quel type de recalcul est souhaité. Lorsque l’utilisateur entre un nombre de 1 à 4, le type de recalcul souhaité est effectué.

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (6752) s’applique à Microsoft Excel 2007, 2010, 2013 et 2016.

Vous pouvez trouver une version de cette astuce pour l’ancienne interface de menu d’Excel ici:

link: / excel-Calculating_Only_the_Active_Workbook [Calculer uniquement le classeur actif].