Problème code vba

Résolu/Fermé
pascal3110 Messages postés 136 Date d'inscription vendredi 13 février 2015 Statut Membre Dernière intervention 14 mars 2016 - 25 nov. 2015 à 10:42
pascal3110 Messages postés 136 Date d'inscription vendredi 13 février 2015 Statut Membre Dernière intervention 14 mars 2016 - 25 nov. 2015 à 14:56
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 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 338
25 nov. 2015 à 10:54
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 2890 Date d'inscription jeudi 2 juillet 2015 Statut Membre Dernière intervention 16 février 2024 1 857
Modifié par diablo13800 le 25/11/2015 à 10:59
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
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 136 Date d'inscription vendredi 13 février 2015 Statut Membre Dernière intervention 14 mars 2016
25 nov. 2015 à 14:56
bonjour
merci à tous
c'est rapide et très sympa
0