Macro supprimer ligne vide et ou égale à 0

Après plusieurs recherches sur les rubriques précedantes je n,ai rien trouver qui fonctionnait.

Ce que je veux est une macro qui supprime les ligne dont la valeur des cellules dans les colonnes B et C sont soit vide ou égale à 0.

A titre d'information je joint la formule trouver et adapté ... mais non fonctionnelle!!

Sub Supprimer_lig_vide()

'

' Supprimer_lig_vide Macro

' Macro enregistrée le 2009-11-04 par ,,,

'Sub vide()

Dim cel As Range

For I = [B65536].End(xlUp).Row To 1 Step -1

'Row To 4 Step -1

If Left(Cells(I, "B"), 2) = "0" Then Rows(I).Delete

PS cette formule considérait seulement 1 colonne et 0, si elle fonctionnerait j'ajouterais la 2e colonne et l'option vide

Next I

End Sub

Merci de votre aide

Bonjour,

essaye ceci:

Sub essai()
Dim cel As Range, i%
        For i = [B65536].End(xlUp).Row To 1 Step -1
            If Cells(i, "B") = "0" Or Cells(i, "c") = "0" Then Rows(i).Delete
        Next i
    On Error Resume Next
    Range("b1:c" & [b65000].End(xlUp).Row) _
    .SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

Amicalement

Claude.

édit: modif dernière ligne

Merci Dubois,

Fonctionne toujours pas. Il m'inscrit «Incomptabilité de type» et il souligne en jaune «If Cells(i, "B") = "0" Or Cells(i, "c") = "0" Then»

Pourquoi

6fichier.xlsm (280.46 Ko)

Bonjour,

Peux-tu envoyer quelques lignes de la feuille, pour voir la structure du fichier ?

Claude.

Bonjour, Salut Claude,

Remplace et teste la ligne suivante dans ton code :

If Left(Cells(I, "B"), 2) = "0" Then Rows(I).Delete 

par la ligne suivante :

If Left(Cells(I, 2), 2) = "0" Then Rows(I).Delete 

Je pense que c'est un problème de syntaxe concernant le numéro de colonne. On pourra éventuellement le dynamiser. Mais sans savoir vraiment comment est diposé ton fichier, il n'est pas facile de deviner.

Bonjour à tous,

Salut Raja,

une solution qui évite la boucle

Sub SupprLigne()
''Macros par Claude Dubois pour "andreleca" E-P le 5 Nov 09
Dim Lg%, Plg As Range
Lg = Cells.Find("*", , , , xlByRows, xlPrevious).Row
    Range("x2").Formula = "=or($b2=0,$b2="""",$c2=0,$c2="""")"
    Range("b1:c" & Lg).AdvancedFilter Action:=xlFilterInPlace, _
    CriteriaRange:=Range("x1:x2"), Unique:=False
        On Error Resume Next
        Set Plg = Range("b2:b" & Lg).SpecialCells(xlCellTypeVisible)
        Plg.EntireRow.Delete
        Range("x2").ClearContents
        ActiveSheet.ShowAllData
End Sub

Bonne journée

Claude.

Merci encore Claude et Raja, malheureusement ca ne fonctionne toujours pas

Ci joint l'onglet sur lequel j'ai la macro. L'objectif est de faire une macro qui supprime les lignes dont la colonne B ou C égale à 0.

https://www.excel-pratique.com/~files/doc2/M42Zetest3.xls

Merci de votre précieuse aide

Re,

Elle est où ta macro qui ne marche pas ?

Puisque j,ai joint uniquement l'onglet du fichier les macros en lien n'ont pas suivis. Désolé.

Je joint une copie du fichier précedent en y insérant la dernière macro de Dubois (test4)

https://www.excel-pratique.com/~files/doc2/test4.xls

Merci encore et ... toujours

re,

Macro modifiée suivant la structure de ton fichier

Sub SupprLigne()
''Macros par Claude Dubois pour "andreleca" E-P le 5 Nov 09
Dim Lg%, Plg As Range
Lg = Cells.Find("*", , , , xlByRows, xlPrevious).Row
    Range("x2").Formula = "=or($b3=0,$b3="""",$c3=0,$c3="""")"
    Range("b2:c" & Lg).AdvancedFilter Action:=xlFilterInPlace, _
    CriteriaRange:=Range("x1:x2"), Unique:=False
        On Error Resume Next
        Set Plg = Range("b3:b" & Lg).SpecialCells(xlCellTypeVisible)
        Plg.EntireRow.Delete
        Range("x2").ClearContents
        ActiveSheet.ShowAllData
End Sub

Remarques:

1) tes cellules ne sont pas vides, elles contiennent des apostrophes (ne gène pas pour

cette macro)

2) beaucoup de cellules sont en format Texte, remets tout en format standard,

(principalement la cellule X2 pour le fonctionnement de la macro, où je mets une formule)

Ton fichier

https://www.excel-pratique.com/~files/doc2/SupprimeLignes2.xls

Claude.

édit: fait une copie de la feuille pour tester

Rechercher des sujets similaires à "macro supprimer ligne vide egale"