Supprimer ligne

Résolu
pamelalyon Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
 pamelalyon -
Bonjour,

j'ai 8 onglets excel et sur les 7 derniers, je veux supprimer toutes les lignes pour lesquels on a rien dans la colonne D ou un 0.

J'ai déja une macro qui marche mais elle est beucoup trop longue, car j'ai beaucoup de données, ca fait 40 min qu'elle tourne et elle est pas terminé.

Derlig = Range("A65536" ).End(xlUp).Row

For Line = Derlig To 20 Step -1

If Cells(i, 4) = "" Or Cells(i, 4) = "0" Then Rows(i).Delete

Next Line


y'aurait la méthode des tableaux qui marcherait plus rapidement mais que je ne connais pas, j'ai 10000 lignes de données sur chacune des feuilles et 7 colonnes

Merci.




A voir également:

4 réponses

michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour

il y aurait "peut-être" bien une manière qui supprimerait sans boucle les Dx=0 et vide
Il faudrait pour cela que tu mettes en pièce jointe une des feuilles à nettoyer sans données confidentielles sur 200 ou 300 lignes

En attendant, une astuce pour supprimer les lignes x avec Dx vide

derlig = Range("D65536").End(xlUp).Row
Range("D1:D" & derlig).SpecialCells(xlCellTypeBlanks).EntireRow.Delete

mais voir si cela marche sur une grande surface (nb lignes * nb_col)

Michel
0
Zoul67 Messages postés 1959 Date d'inscription   Statut Membre Dernière intervention   149
 
Bonsoir,

Si on peut chambouler les lignes, j'essaierais en triant tes données par la colonne D (à la main, en enregistrant les clics de souris).
puis en remontant à partir de derlig jusqu'à ce que la valeur soit différente de "" et de 0.
0
ccm109
 
A mon avis pamela t'as macro est très bien.

Si elle est si lente je pense que c'est parceque tu es en automatique, mets toi sur ordre, ca devrait etre bon.

Bonne suite.


Zoul67, si elle veut supprimer des lignes je pense que c'est parce que elle veut conserver l'ordre des lignes
0
pamelalyon
 
tu avais raison, c'était bien à cause de ca maintenant ca marche très bien

Merci ccm109
0