Dans une feuille Excel contenant pas mal de formules et des conditions de validation dans de nombreuses cellules,
le code ci-dessous (pour supprimer des lignes) fonctionne vite et bien sous Excel 97 (moins de 5s pour supprimer 300 lignes). Sous Excel 2002 (Office XP), il devient tellement lent que je suis obligé d'arrêter sont exécution (après une attente de plusieurs minutes).
J'ai essayé d'ajouter les instructions
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 nLigne=2 While InStr(1, Cells(nLigne, 1), "Fin") <> 1 If Cells(nLigne, 2) <> "X" Then Cells(nLigne, 1).Select Selection.EntireRow.Delete Shift:=xlUp Else nLigne = nLigne + 1 End If Wend
sans amélioration
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2Application.Calculation = xlCalculationManuel Application.ScreenUpdating = False
Avez-vous une idée (J'ai l'impression qu'Excel a un problème de mémoire.) ?
Partager