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).

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
J'ai essayé d'ajouter les instructions
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
   Application.Calculation = xlCalculationManuel
   Application.ScreenUpdating = False
sans amélioration

Avez-vous une idée (J'ai l'impression qu'Excel a un problème de mémoire.) ?