VBA effacer Ligne si Valeur egal 0

Bnjour tous,

Je voudrais une fonction VBA qui pourra me supprimer les lignes entieres contenant 0 dans la colonne B.

c'est a dire si la valeur dans B4 est 0 , il fo supprimer la ligne 4 , et faire tout ca pour toutes les lignes contenant 0

Merci pour votre aide!

Bonjour,

Essaye ce code à placer dans un module :

Sub Supprimervide()
'Macro par Dan pour georgesme - Le 03/04/08
Dim n As Integer
Application.ScreenUpdating = False
For n = Range("B65536").End(xlUp).Row To 1 Step -1
If (Range("B" & n) = "") Then
Rows(n).Delete
End If
Next n
End Sub

Amicalement

Dan

MErci Dan , ca marche parfaitement , mais just un petit souci c'est que j'ai une base de données enorme et ca prend du temps pour kil sexecute mais c'est pas grave, ca fonctionne trés bien Merci encore

Bonsoir,

peut-être un peu plus rapide avec ce code :

Sub supp_ligne_zero()
With Range("B1:B" & [B65536].End(xlUp).Row)
    .Replace What:="0", Replacement:="", LookAt:=xlWhole
    .SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End With
End Sub

si les valeurs de la colonne B sont des valeurs entrées manuellement ou via importation

et ce code :

Sub supp_ligne_zero_formule()
Application.ScreenUpdating = False
Columns("B:B").Insert Shift:=xlToRight
Range("B1:B" & [C65536].End(xlUp).Row).Value = Range("C1:C" & [C65536].End(xlUp).Row).Value
With Range("B1:B" & [B65536].End(xlUp).Row)
    .Replace What:="0", Replacement:="", LookAt:=xlWhole
    .SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End With
Columns("B:B").Delete Shift:=xlToLeft
Application.ScreenUpdating = True
End Sub

si les valeurs sont issues de formules

Merci Felix , j'ai vu ta reponse un peu en retard mais c'etait le code que je cherchait parce que c'etait des formules Reste a voir comment je pourrai supprimer en meme temps les cases #N/A, j'ai deja posté un autre topic sur cette question

Mercii Encore

Merci Nad-Dan.

Je cherche la solution à ce problème depuis 2 jours. Grâce à toi, problème résolu.

Bonjour,

Essaye ce code à placer dans un module :

Sub Supprimervide()
'Macro par Dan pour georgesme - Le 03/04/08
Dim n As Integer
Application.ScreenUpdating = False
For n = Range("B65536").End(xlUp).Row To 1 Step -1
If (Range("B" & n) = "") Then
Rows(n).Delete
End If
Next n
End Sub

Amicalement

Dan

Rechercher des sujets similaires à "vba effacer ligne valeur egal"