Macro : Supprimer ligne si "FAUX" dans colonne D

pedroh3

XLDnaute Nouveau
Bonjour,

Comme le titre l'indique j'essaye de faire une macro sur Excel 2003 pour supprimer une ligne si une formule renvoie un faux dans la colonne D sur cette ligne.

J'ai essayé qui ne fonctionne pas :
Sub Macro3()
'
Dim i, y As Integer
i = 1
y = 65536
Do While Range("D" & i).Value <> ""
If Range("D" & i).Value = "FAUX" Then
Rows(i).Delete

y = y - i

Do While i <> y
Rows(i).Delete
i = i + 1
Loop
i = i + 1
End If
Loop

End Sub


Quelqu'un aurait-il une solution SVP ?

Merci d'avance
 

Catrice

XLDnaute Barbatruc
Re : Macro : Supprimer ligne si "FAUX" dans colonne D

Bonjour,

Tu peux essayer le code :

Sub Test()
For i = Range("B65536").End(xlUp).Row To 1 Step -1
If Cells(i, 2) = "Faux" Then Cells(i, 2).EntireRow.Delete
Next
End Sub


voir fichier joint
 

Pièces jointes

  • Classeur1.xls
    23.5 KB · Affichages: 313
  • Classeur1.xls
    23.5 KB · Affichages: 314
  • Classeur1.xls
    23.5 KB · Affichages: 321

Bigfish

XLDnaute Occasionnel
Re : Macro : Supprimer ligne si "FAUX" dans colonne D

Salut,

une solution sans boucle et beaucoup plus rapide :

With Columns("D:D")
.AutoFilter Field:=1, Criteria1:="faux"
.SpecialCells(xlCellTypeConstants, 2).EntireRow.Delete
.AutoFilter Field:=1
End With

A+:)
 

Discussions similaires

Réponses
5
Affichages
275

Statistiques des forums

Discussions
312 428
Messages
2 088 340
Membres
103 821
dernier inscrit
Lorient56