Problème code vba

Résolu
Bonjour,
voilà j'ai ce code, mais je ne sais pas comment le modifier pour qu'il fonctionne indépendamment sur toutes les feuilles du même classeur.
pouvez-vous m'aider
merci

Sub supprimelignes()
Dim Ligne As Integer
Application.ScreenUpdating = False
With ThisWorkbook.Worksheets("FICHOT")
For Ligne = 40 To 13 Step -1
If .Range("B" & Ligne).Value = 0 Then
.Rows(Ligne).Hidden = True
Else
.Rows(Ligne).Hidden = False
End If
Next Ligne
End With
End Sub
Sub AfficherLignes()
Worksheets("FICHOT").Rows("13:40").Hidden = False
End Sub

4 réponses

  1. Bonjour
    Ceci
    Sub supprimelignes()
        Dim Ligne As Integer
        Application.ScreenUpdating = False
        NbFeuil = Sheets.Count
        For i = 1 To NbFeuil
            For Ligne = 40 To 13 Step -1
                If Sheets(i).Range("B" & Ligne).Value = 0 Then
                    Sheets(i).Rows(Ligne).Hidden = True
                Else
                    Sheets(i).Rows(Ligne).Hidden = False
                End If
            Next Ligne
        Next
    End Sub
    Cdlt
    0
    1. Bonjour,

      Fais avec la boucle qui permet de faire sur chaque "Sheet"

      Sub supprimelignes()
      Dim Ligne As Integer
      Application.ScreenUpdating = False
      Dim ws As Worksheet
      For Each ws In ActiveWorkbook.Worksheets
      For Ligne = 40 To 13 Step -1
      If ws.Range("B" & Ligne).Value = 0 Then
      ws.Rows(Ligne).Hidden = True
      Else
      ws.Rows(Ligne).Hidden = False
      End If
      Next Ligne
      End With
      End Sub

      Sub AfficherLignes()
      Dim ws As Worksheet
      For Each ws In ActiveWorkbook.Worksheets
      ws.Rows("13:40").Hidden = False
      Next
      End Sub
      0
      1. Bonjour

        Voila la modife
        Sub SupprimerLignes()
        Dim Ligne As Long
           Application.ScreenUpdating = False
               For Ligne = 40 To 13 Step -1
                   If Range("B" & Ligne).Value = 0 Then
                       Rows(Ligne).Hidden = True
                   Else
                       Rows(Ligne).Hidden = False
                   End If
               Next
        End Sub
        
        Sub AfficherLignes()
           Cells.EntireRow.Hidden = False
           Range("A1").Select
        End Sub
        

        A+
        Maurice
        0
        1. bonjour
          merci à tous
          c'est rapide et très sympa
          0