Boucle qui ne s'arrête pas

Bonjour,

J'ai un souci. J'ai récupérer/créer une macro qui supprime toutes les lignes dont la cellule est égal à 0.

Le problème c'est qu'il s'agit d'une boucle est j'ai l'impression qu'elle ne se termine jamais.

Quelqu'un aurait il une solution pour qu'elle s'arrete (par exemple lorsqu"elle rencontre une cellule vide..)

Je joint un fichier à mon problème.

Sinon voici le code :

Sub supprimer_ligne()

Dim compt As Integer

compt = 7

Do While compt <= 265

If Cells(compt, 5).Value = 0 Then

Cells(compt, 5).EntireRow.Delete

Else

compt = compt + 1

End If

Loop

End Sub

9exemple-macro.xlsm (51.88 Ko)

Bonjour,

Teste plutôt comme ceci

Sub Suppr()
    Dim n%, i%
    With Worksheets("Feuil1")
        n = .Range("E" & .Rows.Count).End(xlUp).Row
          For i = n To 7 Step -1
              If Range("E" & i) = 0 Then .Range("E" & i).EntireRow.Delete
          Next i
    End With
End Sub

Salut!

Merci pour ce bout de code. Il semble plus efficace que le précédent effectivement cela ne tourne pas sans fin.

Par contre le fichier envoyé était un exemple. Et normalement la colonne vu est inséré dans un tableau. J'ai d'autres cellules (voir le même tableau) au dessus et en dessous de la liste de nombre.

Or j'ai l'impression que sur la macro, on va compter le nombre de cellule non vide de la colonne pour l'appliquer dans la boucle, non?

J'ai testé avec le code avec une autre liste ajouté un peu plus bas que la première. Alors effectivement, cela me supprime mes ligne dont la cellule est égal à 0 mais également les lignes vides. Ce qui est problématique. Aurait tu une idée ?

9exemple-macro.xlsm (55.99 Ko)

Sinon comme je connais déjà le nombre de ligne du tableau, je pense ne pas avoir besoin de l'étape pour calculer le nombre de ligne non vide. En tout cas pour une feuille de calcul ou j'ai un seul tableau. Donc je peux utiliser ce code

Par contre pour un autre onglet j'ai 2 tableau de la même taille à la base (avec cette colonne) l'un en dessous de l'autre mais avec un espace entre les 2 que je souhaiterais conserver. Là la solution proposé ne serait pas applicable.

Je crois avoir résolu le problème.

En mettant 0 entre guillemets "0", la macro ne me supprime plus mes lignes ou mes cellules sont vides.

Merci

Rechercher des sujets similaires à "boucle qui arrete pas"