Comment supprimer des lignes vide en trop avec EntireRow.delete ?

Bonjour à tous,

Toujours curieux de VBA, je souhaite faire une mini macro qui fait une boucle dans la premiere colonne et regarde quelle cellulle est vide. Si la cellulle est vide, la ligne est supprimée. Cela ne doit pas supprimer les lignes qui contiennent des données.

For i = 2 To curr_wb.Sheets("VL").Cells(Rows.Count, 1).End(xlUp).Row
If Len(curr_wb.Sheets("VL").Cells(i, 1)) = "" Then
Rows(i).EntireRow.Delete

End If

Next i

J'ai essayé en faisant ça mais ça me supprime même les lignes qui contiennent des données.

2test.xlsx (8.86 Ko)

bonjour,

essaie ceci

    With curr_wb.Sheets("VL")
        For i = .Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1
            If .Cells(i, 1) = "" Then .Rows(i).Delete
        Next i
    End With

faire le parcours de la liste en ordre inverse, pour éviter de sauter la ligne qui suit la ligne supprimée

tester soit une longueur nulle len(.cells(i,1))=0 ou une cellule vide .cells(i,1)="" pour identifier une cellule vide

Merci C'est exactement ce qui me fallait pour completer la macro.

Rechercher des sujets similaires à "comment supprimer lignes vide trop entirerow delete"