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/visibles à chaque fois que je modifie la moindre cellule sur l'intégralité de la feuille excel.

En gros pour mieux expliquer la situation. A ligne 33 jai le nombre de commandes. Ensuite aux lignes 34 a 42 j'ai les 9 commandes avec sur chaque ligne des infos spécifiques. ligne 34 = commande 1, ligne 35 = commande 2, et ainsi de suite jusqu'à ligne 42 = commande 9. Mon code dit que si la case indiquant le nombre de commandes (E33) est égale à 2 alors les lignes 36 à 42 seront masquées...

Voici le code en question :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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