Code VBA qui masque des lignes

Antoine443301 -  
f894009 Messages postés 17277 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
A voir également:

1 réponse

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
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