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
    merci à tous
    c'est rapide et très sympa
    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,

        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
          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