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 SubA 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
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