Désactiver calcul automatique des formules pur une seule feuille

deb_38

XLDnaute Nouveau
Bonjour à tous,

J'ai une macro qui s'exécute pour 3 feuilles comportant des formules de calcul nécessaire à l'exécution.
Cependant, la 4ème feuille comporte énormément de formules, celles ci ne sont pas utilisées dans la macro.

Je voudrais alors désactiver la mise à jour des formules de cette feuille uniquement.
Est-ce possible ? Si oui comment ?

Merci à tous
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Bonjour Deb,

Je ne crois pas qu'il soit possible de désactiver pour une seule feuille

Cette question sous-entend peut-être que le temps d'exécution de la macro est trop long
Voici une solution pour accélérer le temps d'exécution
Il suffit de bloquer le calcul automatique et le rafraîchissement de l'écran au début de la macro
.......... sans oublier de les remettre en fin de macro

Code:
Sub macro()
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
'
'
'
'
'
'
'
'
'
'
'
'
'
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub

à+
Philippe
 

eriiic

XLDnaute Barbatruc
Bonjour,

une idée.
Crée toi un nom 'mesFormules' avec ="active", puis dans le module de la feuille :
VB:
Sub test()
    OnOff_formules ' désactive les formules
    OnOff_formules ' réactive les formules
End Sub
Sub OnOff_formules()
    Dim pl As Range
    If ThisWorkbook.Names("mesFormules").RefersTo = "=""active""" Then
        'désactiver formules
        Set pl = Sheets("Feuil2").Cells.SpecialCells(xlCellTypeFormulas)
        If Not pl Is Nothing Then
            pl.Name = "mesFormules"
            pl.NumberFormat = "@"
            pl.Value = pl.Formula
        End If
    Else
         ' réactiver formules
        [mesFormules].NumberFormat = "General"
        [mesFormules].Formula = [mesFormules].Formula
        ThisWorkbook.Names("mesFormules").RefersTo = "active"
    End If
End Sub
J'ai préféré un nom à une variable statique. Ca alourdi un peu mais la plage est sauvegardée si tu quittes sans avoir restauré les formules.
eric
 
Dernière édition:

Discussions similaires