Selectionner les cellules non vides et supprimer des lignes

Bonjour,

J'ai un tableau de donnees dont la dimension peut varier entre 200 et 1150 lignes

Dans ma macro je souhaite supprimer les lignes dont les cellules en colonnes A sont vides et dont les valeurs en colonnes X sont inferieur a 100. Le code suivant marche tres bien :

For i = 1150 To 2 Step -1

If Worksheets("Push List Dashboard").Range("X" & i).Value <= 100 Then Rows(i).Delete

If Worksheets("Push List Dashboard").Range("A" & i).Value Like "" Then Rows(i).Delete

Next I

Cependant l'execution est beaucoup trop longue et je souhaiterais un code qui selectionne uniquement la plage de cellules pleine et face le trie en suprimmant les lignes selon les conditions ci dessus.

Je ne sais pas comment traduire ca en VBA :

For i = "derniere cellule non vide" to 2 step -1

If Worksheets("Push List Dashboard").Range("X" & i).Value <= 100 Then Rows(i).Delete

If Worksheets("Push List Dashboard").Range("A" & i).Value Like "" Then Rows(i).Delete

Next I

Comme ca etant donnee que mon tableau peut prendre differente dimension ma macro ne fera le trie que sur les cellules qui sont completer donc sur 300 lignes par exemple a la place de 1150 ( je ne veux pas qu'elle face un tri inutile sur les lignes qui sont vides)

J'esepere avoir ete claire dans mes propos. Pouvez vous m 'aidez svp ?

Bonjour,

Sub SuppriLignes()
    Dim n&, i&
    With Worksheets("Push List Dashboard")
        n = .Cells.SpecialCells(xlCellTypeLastCell).Row
        Application.ScreenUpdating = False
        For i = 1 To n
            If .Cells(i, 24) <= 100 Or .Cells(i, 1) = "" Then .Cells(i, 24).ClearContents
        Next i
        .Range("X1:X" & n).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
    End With
End Sub

Cordialement.

Top ca marche super meme pas 1 sec.

Merci bcp

Rechercher des sujets similaires à "selectionner vides supprimer lignes"