Optimisation de ma macro

Bonjour,

Voici une macro que j'ai créé pour mon fichier afin d'automatiser certaines étapes.

Est-il possible de me dire si certains passages (ce qui est surement le cas) peuvent être optimisés (car l’exécution de la macro est assez longue) ?

Est-il également possible de le faire sans joindre un fichier (très lourd et majoritairement confidentiel, difficilement "anonymisable").

Voici la macro :

Sub DB_to_recap()

' Turn off Excel functionality to improve performance.
Application.ScreenUpdating = False
Application.DisplayStatusBar = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
' Note: this is a sheet-level setting.
ActiveSheet.DisplayPageBreaks = False

    Sheets("Recap").Columns("A:F").ClearContents
    Sheets("Données").Columns("M:Q").Copy
    Sheets("Recap").Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
             :=False, Transpose:=False
    Sheets("Recap").Columns("A:E").ColumnWidth = 12
    Sheets("Recap").Columns("A:M").AutoFilter
    Sheets("Recap").Columns("A:E").RemoveDuplicates Columns:=Array(1, 2, 3, 4, 5) _
        , Header:=xlYes

    Worksheets("Recap").Activate
    Sheets("Recap").Range("A1:E1").Select
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorAccent5
        .TintAndShade = -0.249977111117893
        .PatternTintAndShade = 0
    End With
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlDouble
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThick
    End With
    With Selection.Font
        .ThemeColor = xlThemeColorDark1
        .TintAndShade = 0
        .Bold = True
    End With
Sheets("Recap").Calculate

' Turn on Excel functionality
Application.ScreenUpdating = True
Application.DisplayStatusBar = True
Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True

End Sub

A disposition si besoin,

Merci,

J.

Bonjour

Je pense que le temps de traitement est allongé par la taille ou par les formules présentent dans ton classeur.

En ne faisant que revoir la présentation du code (emploie de "with" le code est normalement rapide...

Cordialement

10jauster.xlsm (19.27 Ko)

Bonjour Efgé,

Merci pour votre réponse.

Est-il utile d'utiliser .DisplayPageBreaks = False pour tout le classeur (si je veux améliorer le temps de calcul) ou seulement pour mon onglet recap ?

Re

En fait, je ne vois pas l'intérêt d'utiliser DisplayPageBreaks = False.

Sauf a faire une prévisualisation de l'impression avant de lancer le code, ce dont je doute...

Cordialement

Rechercher des sujets similaires à "optimisation macro"