Ma macro supprime trop de lignes et plante

Dut

XLDnaute Nouveau
Bonjour,
dans une feuille, à l'intérieur d'une macro je souhaite supprimer toutes les lignes qui comporte un "x" dans la colonne E. J'avais donc prévu le code suivant :
Code:
    Selection.AutoFilter
    Selection.AutoFilter Field:=5, Criteria1:="=x"
    Rows("2:" & Range("A1").End(xlDown).Row).Delete Shift:=xlUp
    Selection.AutoFilter

Le problème c'est que mon PC au bureau n'est pas une bête de course et il plante systématiquement quand j'arrive sur cette instruction. Apparemment il n'apprécie pas devoir supprimer environ 17000 lignes (sur 43000).

J'ai essayé d'effectuer la manip à la main pour voir et j'obtiens le message d'erreur :
"Microsoft Excel ne peut pas créer ni utiliser la plage de données car celle-ci est trop complexe"

Sauriez-vous comment résoudre ce souci ?
 

mth

XLDnaute Barbatruc
Re : Ma macro supprime trop de lignes et plante

Sourire ... un très grand merci Dut pour ton code, tu peux être sûr que je vais tenter de m'en servir pour mes bases un peu lourdes !! (... mais je citerai mes sources... ;))

Bon courage et à une prochaine fois,

Mth
 

ninbihan

XLDnaute Impliqué
Re : Ma macro supprime trop de lignes et plante

Re,

Une autre solution, en admettant que la colonne e ne contient que des cellules vides ou des "x" lorsque la suppression est voulue
Code:
Sub test()
    Range("E2:E65536").Select
    Selection.SpecialCells(xlCellTypeConstants, 23).Select
    Selection.EntireRow.Delete
End Sub

Bonne soirée,

Ninbihan
 

Statistiques des forums

Discussions
312 672
Messages
2 090 769
Membres
104 661
dernier inscrit
abdelazizasma