Supprimer des lignes en fonction de la valeur d'une colonne

Bonjour à tous,

Je débute sur VBA, je souhaite automatiser la suppression de lignes entières lorsque la valeur des cellules de ma colonne N est "Non concerné".

La particularité ce que la taille de ma plage de données varie d'une semaine à l'autre donc je voudrais une formule qui généralise la suppression quelque soit le nombre de lignes

capture pour forum

J'ai essayé ceci, mais cela ne fonctionne pas.

Merci beaucoup pour votre aide :)

Sub SupprimerLignesVides()

Dim cell As Range

NBligne = Cells(1, 1).CurrentRegion.Rows.Count
For i = 2 To NBligne

For Each cell In Range("$N$1:$N$" & NBligne)
    If cell(i, 14).Value = "Non concerné" Then
        cell.EntireRow.Delete
    End If
Next cell

Next i

End Sub

Bonjour,

Sub SupprimerLignesNonConcerne()
    Dim ws As Worksheet
    Dim LastRow As Long
    Dim i As Long

    ' Définir la feuille de travail active
    Set ws = ThisWorkbook.Sheets("Feuil1") 

    ' Trouver la dernière ligne utilisée dans la colonne N
    LastRow = ws.Cells(ws.Rows.Count, "N").End(xlUp).Row

    ' Boucle pour parcourir chaque ligne de bas en haut
    For i = LastRow To 1 Step -1
        If ws.Cells(i, "N").Value = "Non concerné" Then
            ws.Rows(i).Delete
        End If
    Next i
End Sub

Pense à remplacer "Feuil1" par le nom de ta feuille,

En espérant que ça convient à ta demande,

Bonne journée

PS :

' Trouver la dernière ligne utilisée dans la colonne N
    LastRow = ws.Cells(ws.Rows.Count, "N").End(xlUp).Row

Cela permet de récupérer la dernière ligne non vide de ta colonne "N", ça évite d'avoir des plages trop grande comme dans ton code

Range("$N$1:$N$")

Bonjour à tous,

Si vous avez beaucoup de données, il peut être préférable d'utiliser un filtre pour un résultat instantané.

Essayez ceci

Sub SupprNC()
  With ActiveSheet.Range("A1")
    .CurrentRegion.AutoFilter Field:=14, Criteria1:="Non concerné"
    Range(.Offset(1, 0), .End(xlDown)).EntireRow.Delete
    .AutoFilter
  End With
End Sub

Boshupp!

Olala c'est parfait, ça a fonctionné!

Merci beaucoup :)

Merci saboh pour cette approche,

J'y avais pas du tout pensé, mais c'est plus ergonomique

Bonne journée

Merci pour votre retour. Bonne journée.

Rechercher des sujets similaires à "supprimer lignes fonction valeur colonne"