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

A voir également:

4 réponses

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
diablo13800 Messages postés 3469 Statut Membre 1 862
 
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
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
pascal3110 Messages postés 139 Statut Membre
 
bonjour
merci à tous
c'est rapide et très sympa
0