L loreak XLDnaute Nouveau 7 Juillet 2022 #1 Slt à tous, Voici le code qui permet de supprimer les données sur des plages définies. Je voudrais rendre mon code beaucoup plus rapide car il doit gérer pas mal de données. Le problème étant que celui-ci met environ 3 min pour s'exécuter. Merci d'avance pour vos réponde Loreak
Slt à tous, Voici le code qui permet de supprimer les données sur des plages définies. Je voudrais rendre mon code beaucoup plus rapide car il doit gérer pas mal de données. Le problème étant que celui-ci met environ 3 min pour s'exécuter. Merci d'avance pour vos réponde Loreak
Solution job75 7 Juillet 2022 Bonjour loreak, Si votre code met du temps à s'exécuter c'est certainement parce que des formules se recalculent. Ajoutez donc en début de macro : VB: Application.Calculation = xlCalculationManual et en fin de macro : VB: Application.Calculation = xlCalculationAutomatic Par ailleurs tout effacer en même temps est plus rapide : VB: Range("A2:A1099,E2:E1099,H2:KM1099,KO2:KQ1099").ClearContents A+
Bonjour loreak, Si votre code met du temps à s'exécuter c'est certainement parce que des formules se recalculent. Ajoutez donc en début de macro : VB: Application.Calculation = xlCalculationManual et en fin de macro : VB: Application.Calculation = xlCalculationAutomatic Par ailleurs tout effacer en même temps est plus rapide : VB: Range("A2:A1099,E2:E1099,H2:KM1099,KO2:KQ1099").ClearContents A+
job75 XLDnaute Barbatruc 7 Juillet 2022 #2 Bonjour loreak, Si votre code met du temps à s'exécuter c'est certainement parce que des formules se recalculent. Ajoutez donc en début de macro : VB: Application.Calculation = xlCalculationManual et en fin de macro : VB: Application.Calculation = xlCalculationAutomatic Par ailleurs tout effacer en même temps est plus rapide : VB: Range("A2:A1099,E2:E1099,H2:KM1099,KO2:KQ1099").ClearContents A+ Vote positif 1 Vote négatif Solution
Bonjour loreak, Si votre code met du temps à s'exécuter c'est certainement parce que des formules se recalculent. Ajoutez donc en début de macro : VB: Application.Calculation = xlCalculationManual et en fin de macro : VB: Application.Calculation = xlCalculationAutomatic Par ailleurs tout effacer en même temps est plus rapide : VB: Range("A2:A1099,E2:E1099,H2:KM1099,KO2:KQ1099").ClearContents A+
D D.D. XLDnaute Impliqué 7 Juillet 2022 #3 Bonjour, Le code me parait déjà assez concis. Peut être mettre au début: Code: Application.ScreenUpdating = False Application.Calculate = xlCalculationManual et à la fin: Code: Application.ScreenUpdating = True Application.Calculate = xlCalculationAutomatic PS: "Vous avez entré" Vote positif 1 Vote négatif
Bonjour, Le code me parait déjà assez concis. Peut être mettre au début: Code: Application.ScreenUpdating = False Application.Calculate = xlCalculationManual et à la fin: Code: Application.ScreenUpdating = True Application.Calculate = xlCalculationAutomatic PS: "Vous avez entré"
L loreak XLDnaute Nouveau 7 Juillet 2022 #4 Merci pour vos réponses, Je suis obligé de mettre Application.Calculate = xlCalculationAutomatic a la fin de mon code (quelles conséquences y peut y avoir) Vote positif 0 Vote négatif
Merci pour vos réponses, Je suis obligé de mettre Application.Calculate = xlCalculationAutomatic a la fin de mon code (quelles conséquences y peut y avoir)
D D.D. XLDnaute Impliqué 7 Juillet 2022 #5 Le classeur est en mode de calcul manuel. Les formules ne vont pas se mettre à jour. Vote positif 0 Vote négatif