Problème code vba

Résolu
pascal3110 Messages postés 139 Statut Membre -  
pascal3110 Messages postés 139 Statut Membre -
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. Frenchie83 Messages postés 2254 Statut Membre 339
     
    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
  2. diablo13800 Messages postés 3469 Date d'inscription   Statut Membre Dernière intervention   1 872
     
    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
  3. Maurice
     
    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
  4. pascal3110 Messages postés 139 Statut Membre
     
    bonjour
    merci à tous
    c'est rapide et très sympa
    0