Supprimer ligne si cellule= 0 sur plusieurs Colonnes

Bonjour à tous,

Voici le code ci-dessous qui me permet de supprimer toutes les lignes qui ont un 0 dans la colonne B.

Je souhaite étendre ce code de la colonne B à L.

Que dois-je compléter sans répéter 11 fois le même code avec des colonnes différentes?

Sub supprimer()

Dim Lastrow As Long, n As Long

Lastrow = Range("L1545").End(xlUp).Row

For n = Lastrow To 1 Step -1

If Cells(n, 2).Value = 0 Then Cells(n, 2).EntireRow.Delete

Next n

End Sub

Merci de votre aide!

Bien cordialement

11fichier-test.xlsm (17.03 Ko)

Ce code fonctionne par ailleurs seulement sur un petit nombre de lignes.

Pour mes 1545 cela ne fonctionne pas...

Merci encore de votre aide

Bonjour,

Essaie comme çà

Sub supprimer()
Dim Lastrow As Long, n As Long
    Application.ScreenUpdating = False
    Lastrow = Range("B1").CurrentRegion.End(xlDown).Row
    For n = Lastrow To 1 Step -1
        If Application.CountIf(Cells(n, 2).Resize(1, 11), 0) > 0 Then Cells(n, 2).EntireRow.Delete
    Next n
    Application.ScreenUpdating = True
End Sub

A+

Merci pour cette réponse, Malheureusement, rien ne se passe.

Je met en PJ mon fichier intégral, ce sera peut être plus clair.

Merci d'avance pour votre aide

10fichier-complet.xlsm (198.05 Ko)

Le problème se situait sur la détermination du numéro de la dernière ligne renseignée de la plage.

Essaie avec ce code

Sub testforum()
Dim Lastrow As Long, n As Long
    Application.ScreenUpdating = False
    Lastrow = Range("B" & Rows.Count).End(xlUp).Row
    For n = Lastrow To 1 Step -1
        If Application.CountIf(Cells(n, 2).Resize(1, 11), 0) > 0 Then Cells(n, 2).EntireRow.Delete
    Next n
    Application.ScreenUpdating = True
End Sub

Remarque : la recherche s'effectue sur les colonnes B à L comme demandé dans ton 1er post (et non pas sur B à N).

A+

Effectivement je vient de l'étirer à n mais ça fonctionne très bien donc merci beaucoup!

Rechercher des sujets similaires à "supprimer ligne colonnes"