Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 Code VBA pour supprimer une plage de données

loreak

XLDnaute Nouveau
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
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
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.

XLDnaute Impliqué
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é"
 

Discussions similaires

Réponses
2
Affichages
136
Réponses
7
Affichages
390
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…