Supprimer des lignes selon conditions

niouniou -  
ccm81 Messages postés 11033 Statut Membre -

Bonjour,

Je voudrais supprimer des lignes en fonction d'une condition dans une cellule:

J'ai fait le code suivant qui fonctionne sauf si la 1ere ligne est supprimée:

Sub Macro1()

Range("R1").Select
Do While ActiveCell <> ""
  If ActiveCell.Value = "D" Then
ActiveSheet.Rows(ActiveCell.Row).EntireRow.Delete
    ActiveCell.Offset(-1, 0).Activate
  End If
ActiveCell.Offset(1, 0).Activate
Loop
 End Sub

Quelqu'un pourrait il m'aider svp?
Windows / Edge 111.0.1661.41

1 réponse

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     

    Bonjour

    Pour supprimer des lignes, toujours commencer par la fin

    Option Explicit
    
    Const co = "R"
    Const lideb = 1
    
    Public Sub supp_lignes()
    Dim lifin As Long, li As Long
    lifin = Range(co & Rows.Count).End(xlUp).Row
    For li = lifin To lideb Step -1
      If Range(co & li).Value = "D" Then Rows(li).Delete
    Next li
    End Sub
    

    https://www.cjoint.com/c/MCrpnTOoazB

    Cdlmnt

    0