Nenesse45
XLDnaute Nouveau
Bonjour à tous,
sur une feuille Excel, je cherche à masquer ou à afficher dynamiquement des lignes, selon la valeur d'une cellule.
Sur la feuille, il y a une liste déroulante (qui dépend d'une autre feuille listing) pour sélectionner le nom d'un équipement.
Selon l'équipement choisi dans la liste déroulante, la cellule D14 affiche la marque de cet équipement sélectionné (avec une RECHERCHEV du nom de l'équipement dans la feuille listing).
Des lignes doivent être masquées ou affichées selon la valeur de la cellule D14:
Mais il y a plusieurs problèmes:
Merci de votre aide.
sur une feuille Excel, je cherche à masquer ou à afficher dynamiquement des lignes, selon la valeur d'une cellule.
Sur la feuille, il y a une liste déroulante (qui dépend d'une autre feuille listing) pour sélectionner le nom d'un équipement.
Selon l'équipement choisi dans la liste déroulante, la cellule D14 affiche la marque de cet équipement sélectionné (avec une RECHERCHEV du nom de l'équipement dans la feuille listing).
Des lignes doivent être masquées ou affichées selon la valeur de la cellule D14:
- Par défaut, si la cellule D14 est vide ou différente de MARQUE1 MARQUE2, alors il faut masquer les lignes 21:22, 25:27 et 42:57
- Si la cellule D14 = MARQUE1 alors il faut afficher les lignes 21:22 et 42:57 et masquer les lignes 25:27
- Si la cellule D14 = MARQUE2 alors il faut afficher les lignes 25:27 et masquer les lignes 21:22 et 42:57
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim TrigerCell As Range
Set Triggercell = Range("D14")
If Not Application.Intersect(Triggercell, Target) Is Nothing Then
If Triggercell.Value = "MARQUE1" Then
Rows("21:22").Hidden = False
Rows("25:27").Hidden = True
Rows("42:57").Hidden = False
ElseIf Triggercell.Value = "MARQUE2" Then
Rows("21:22").Hidden = True
Rows("25:27").Hidden = False
Rows("42:57").Hidden = True
ElseIf Triggercell.Value = "" Then
Rows("21:22").Hidden = True
Rows("25:27").Hidden = True
Rows("42:57").Hidden = True
End If
End If
End Sub
Mais il y a plusieurs problèmes:
- Le premier problème est que l'affichage ou le masquage des lignes n'est pas dynamique. Si je change le nom de l'équipement dans la liste déroulante, la marque change bien dans la cellule D14 grâce à la RECHERCHEV mais les lignes devant s'afficher ou se masquer ne changent pas.
Il faut que je sélectionne la cellule D14 et que je "revalide" la fonction RECHERCHEV pour que ça fonctionne. - Le deuxième problème est qu'avec le code, je tiens compte de la cellule vide, mais pas si la marque est différente de MARQUE1 ou MARQUE2 (MARQUE3 par exemple) selon le nom de l’équipement sélectionné dans la liste déroulante.
Merci de votre aide.