Boucle For pour masquer certaines lignes

Bonjour !

Je souhaiterais faire un petit code VBA qui dans chaque feuille de l'excel il regarde la colonne I (i) qui est composée de 0 ou de 1 et que si c'est un 0, ce code masque cette ligne.

Voilà le code que j'ai tapé :

Sub taille_entreprise10()
    Dim Ws As Worksheet
    Dim ligne As Integer

    For Each Ws In Worksheets
        Ws.Activate
        For ligne = 0 To 100
            If Cells(ligne, 9).Value = "0" Then
                Rows(ligne).Hidden = True
            End If
        Next ligne
    Next Ws
End Sub

Je vous remercie d'avance !

Gaëtan

Edit : avec ce code, j'ai le message d'erreur : 1004 Erreur définie par l'application ou par l'objet.

Bonjour,

Dans la logique pour masquer une ligne on masque la ligne entière donc on utilise EntireRow. Idem si vous travaillez avec WS alors il n'est pas forcément nécessaire de l'activer en amont. De plus, la ligne 0 n'existe pas, d'où votre message d'erreur :

Sub taille_entreprise10()
    Dim Ws As Worksheet
    Dim ligne As Integer
    For Each Ws In Worksheets
        For ligne = 1 To 100
            If Ws.Cells(ligne, 9) = "0" ThenWs.Cells(ligne, 9).EntireRow.Hidden = True
        Next ligne
    Next Ws
End Sub

Cdlt,

Edit : Bonjour Dan !

Bonjour

Et comme ceci :

Sub taille_entreprise10()
Dim Ws As Worksheet
Dim ligne As Integer

For Each Ws In Worksheets
    For ligne = 1 To 100
        If Ws.Cells(ligne, 9).Value = 0 Then Ws.Rows(ligne).EntireRow.Hidden = True
    Next ligne
Next Ws
End Sub

Cordialement

Bonjour Ergotamine et Dan,

Merci beaucoup de votre aide... L'habitude de python et donc de son 0...

Bonne journée à vous deux.

Rechercher des sujets similaires à "boucle masquer certaines lignes"