Sub Masquer_D1()
Dim p As Range, plage As Range, t
t = Timer
Set plage = ActiveSheet.Range("N2:N250")
plage.FormulaR1C1 = "=MOD(ROW(),ALEA.ENTRE.BORNES(1,25))"
plage.Value = plage.Value
With plage
For Each cel In plage.Cells
If cel = 0 Then If p Is Nothing Then Set p = cel Else Set p = Union(p, cel.MergeArea)
Next
End With
MsgBox "patrick " & Timer - t '& vbCrLf & p.EntireRow.Address
'p.EntireRow.Hidden = True'ligne a débloquer
End Sub
Sub Masquer()
Dim LG&, t
t = Timer
Range("N2:N250").FormulaR1C1 = "=MOD(ROW(),ALEA.ENTRE.BORNES(1,25))"
Range("N2:N250").Value = Range("N2:N250").Value
LG = Cells(Rows.Count, "N").End(3).Row
Application.ScreenUpdating = False
Cells(2, Columns.Count).Resize(LG - 1).Formula = "=IF(N2=0,""$"",1)"
Columns(Columns.Count).SpecialCells(xlCellTypeFormulas, 2).EntireRow.Hidden = True
Columns(Columns.Count).Delete
MsgBox "Staple " & Timer - t
End Sub