Excel Masquer une ligne lorsqu'une case =0

Bonjour,

Voici mon problème j'ai fait une macro programmé comme suit :
Private Sub Worksheet_Activate()

If Range("b1") = "0" Then
Rows("1").Select
Selection.EntireRow.Hidden = True
End If

If Range("b1") <> "0" Then
Rows("1").Select
Selection.EntireRow.Hidden = False
End If
End Sub

Lorsque je clique sur la feuille 1, la ligne 1 ce masque ci la valeur dans B1 est égale à 0 et ci elle est égale à autres choses elle réapparait.

Je voudrai savoir comment programmer de façon à dire que je veut pas 1 ligne mais que toutes le lignes de 1à 300 dont la valeur et a 0 dans la colonne B ce masque

Merci beaucoup pour vos réponses
Configuration: Windows XP
Internet Explorer 7.0

2 réponses

  1.  

    … il n'y a pas besoin de loop pour ça : un filtre automatique fait parfaitement l'affaire, avec ou sans macro …

     
    0
    1. Salut tintinlefou

      Private Sub Worksheet_Activate()
      For i = 1 to 300 (ou une autre valeur)
      If Range("b" & i) = 0 Then
      Rows(i).Select
      Selection.EntireRow.Hidden = True
      Else
      Rows(i).Select
      Selection.EntireRow.Hidden = False
      End If
      Next i
      End Sub

      Attention dans ta formule tu mets "0" donc c'est du texte et non un nombre. Je pense que 0 suffit.

      LePlot
      0