Bonjour à tous ,
Le code que j'ai déjà publié doit le faire. J'avais considéré que l 0 et les 1 de la colonne AG étaient des constantes or à priori ce sont des formules.
Si à la fin de traitement, on veut conserver les formules (donc celles qui renvoient 1) sans les avoir transformées en constantes, utilisez le code ci-dessous :
Sub supprBlocFormules()
Dim t, f, i&, deb
deb = Timer: Sheets("Feuil1").Select
Application.ScreenUpdating = False
t = Range("ag4:ag6000"): f = Range("ag4:ag6000").Formula
For i = 1 To UBound(t): t(i, 1) = IIf(t(i, 1) <> 1, Empty, f(i, 1)): Next
Range("ag4:ag6000").Formula = t
Rows("4:6000").Sort key1:=Range("ag4"), order1:=xlAscending, Header:=xlNo
On Error Resume Next
Range("ag4:ag6000").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
MsgBox "Durée = " & Format(Timer - deb, "# ##0.00 \sec.")
End Sub