Code VBA qui masque des lignes

Antoine443301 -  
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai écrit un code VBA qui masque certaines lignes en fonction de la valeur d'une cellule (en occurrence la cellule E33). Si mon code fait parfaitement le travail que je lui demande de faire, il a cependant le gros problème de me renvoyer constamment au niveau des lignes cachées à chaque fois que je modifie quelque chose sur l'intégralité de la feuille excel.

Voici le code en question :

Private Sub Worksheet_Change(ByVal Target As Range)
If [E33] = 1 Then
Application.Rows("35:42").Select
Application.Selection.EntireRow.Hidden = True
End If

If [E33] = 2 Then
Application.Rows("36:42").Select
Application.Selection.EntireRow.Hidden = True
Application.Rows("34:35").Select
Application.Selection.EntireRow.Hidden = False
End If

If [E33] = 3 Then
Application.Rows("37:42").Select
Application.Selection.EntireRow.Hidden = True
Application.Rows("34:36").Select
Application.Selection.EntireRow.Hidden = False
End If
End Sub

Pouvez vous m'aider ?? :)

merci d'avance

Antoine

1 réponse

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    Private Sub Worksheet_Change(ByVal Target As Range)
        If [E33] = "" Then   'affiche toutes les lignes
            Cells.EntireRow.Hidden = False
        ElseIf [E33] = 1 Then
            Rows("35:42").EntireRow.Hidden = True
        ElseIf [E33] = 2 Then
            Rows("36:42").EntireRow.Hidden = True
            Rows("34:35").EntireRow.Hidden = False
        ElseIf [E33] = 3 Then
            Rows("37:42").EntireRow.Hidden = True
            Rows("34:36").EntireRow.Hidden = False
        End If
    End Sub
    0