Sub Lignes_masquer_si_nul()
Dim c As Range
Application.ScreenUpdating = False
Cells.EntireRow.Hidden = False
For Each c In Range("a1:a70")
If c.Offset(, 1) = 0 Then c.EntireRow.Hidden = True
Next
Application.ScreenUpdating = True
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Dim cel As Range
For Each cel In Range("b1:b70")
If cel.Value = "0" Then cel.EntireRow.Hidden = True
Next cel
Application.EnableEvents = True
End Sub
'DANS UN MODULE STANDARD
Sub affiche()
Dim cel As Range
Application.ScreenUpdating = False
With Sheets("Feuil1")
For Each cel In .Range("b1:b70")
If cel.EntireRow.Hidden = True Then cel.EntireRow.Hidden = False
Next cel
End With
End Sub
Bonjour Papou-net,
J'ai copié ton code, les lignes à 0 restent visibles. Normal ???
Plutôt que filtrer, j'aimerais un code qui masque les lignes (...)
Private Sub Worksheet_Change(ByVal Target As Range)
With [A1].CurrentRegion '1ère cellule à adapter
If Intersect(Target, .Columns(2)) Is Nothing Then Exit Sub
.Cells(2, .Columns.Count + 1) = "=RC[-" & .Columns.Count - 1 & "]<>0"
.AdvancedFilter xlFilterInPlace, .Cells(1, .Columns.Count + 1).Resize(2)
.Cells(2, .Columns.Count + 1) = ""
End With
End Sub
Sub Afficher()
On Error Resume Next
Me.ShowAllData
End Sub