Supprimer ligne

Résolu/Fermé
pamelalyon Messages postés 4 Date d'inscription mercredi 12 janvier 2011 Statut Membre Dernière intervention 18 janvier 2011 - Modifié par pamelalyon le 18/01/2011 à 17:17
 pamelalyon - 18 janv. 2011 à 20:58
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.




4 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
Modifié par michel_m le 18/01/2011 à 18:34
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 lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 149
18 janv. 2011 à 19:13
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
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
tu avais raison, c'était bien à cause de ca maintenant ca marche très bien

Merci ccm109
0