Suppression lignes si cellules vides

Bonjour,

Après compilation de plusieurs fichiers excel en un seul, j'aimerais supprimer certaines lignes. La ligne doit être supprimée si les cellules des colonnes M, N et O sont vides, alors j'ai tenté le code que voici :

Sub Delete()
Dim i As Integer
With ThisWorkbook.Sheets("D221_hors_zone")
For i = .Range("M" & "N" & "O" & .Rows.Count).End(xlUp).Row To 2 Step -1
 If .Range("M" & "N" & "O" & i).Value = "" Then
    Rows(i).Delete
    End If
   Next i
End With
MsgBox ("task complete!!!")
End Sub

Mais il ne fonctionne pas, quelqu'un saurait-il me dire ce qui bloque ?

Je vous remercie par avance.

Bonjour

A essayer

Sub Delete()
Dim i As Integer

With ThisWorkbook.Sheets("D221_hors_zone")
For i = .Range("M" & .Rows.Count).End(xlUp).Row To 2 Step -1
   If .Range("M" & i) = "" And .Range("N" & i) = "" And .Range("O" & i) = "" Then Rows(i).Delete
Next i
End With
MsgBox ("task complete!!!")
End Sub

Si ok, merci de cloturer le fil en cliquant sur le petit v en haut à droite de la fenetre lors de votre réponse

Cordialement

Bonjour à tous,

Excel 2016 refuse Sub Delete() > "Le membre existe déjà dans un module objet dont le présent module est dérivé."

Donc, utiliser plustôt > Sub DeleteLignes() ou n'importe quoi autre de "Delete"

ric

Bonjour, Salut Dan !

A essayer :

Sub Delete()
    Dim i&, n&, rr As Range
    With ThisWorkbook.Sheets("D221_hors_zone")
        n = .Cells.SpecialCells(xlCellTypeLastCell).Row
        Set rr = .Rows(n + 1)
        For i = 2 To n
            If .Cells(i, 13) & .Cells(i, 14) & .Cells(i, 15) = "" Then
                Set rr = Union(rr, .Rows(i))
            End If
        Next i
        rr.Delete
    End With
    MsgBox ("task complete!!!")
End Sub

Cordialement.

Merci beaucoup, MFerrand, ton code fonctionne parfaitement; mille mercis.

Bonne continuation.

Rechercher des sujets similaires à "suppression lignes vides"