Bonjour à toutes et à tous
Après avoir lu la plupart des posts sur le sujet, je me permets de vous exposer mon problème
Module 1:
Sub Masque_lig()
Application.ScreenUpdating = False
Dim cellule As Range
For Each cellule In Range("D42:D47")
If cellule.Value = "0" Then
cellule.EntireRow.Hidden = True
Else
cellule.EntireRow.Hidden = False
End If
Next cellule
End Sub
Feuill 1:
Private Sub Worksheet_Change(ByVal Target As Range)
Call Masque_lig
End Sub
("D42:D47") = les valeurs des cellules D42,43,44,45,46,47 changent en fonction du choix que l'on fait sur une liste déroulante dans une second feuille.
L'idée est la suivante: quand D42=0 masquer la ligne 42. Inversement lorsque la valeur de D42 change suite à un changement de séléction dans liste déroulante (sur une autre feuille), alors la ligne 42 s'affiche. Idem jusque la ligne 47.
Mon code marche à moitié, si je l'éxécute à partir de Visual Basic cela marche coup par coup. Cependant si je change mon choix dans la liste déroulante, tout plante. Voyez-vous où j'ai pu faire une erreur ?
Je sais que d'habitude il est préférable de mettre un fichier type. Mes données sont confidentielles et je n'ai pas eu le temps d'en faire un dépourvu de données sensibles. Si la réponse est évidente pour vous tant mieux, sinon je ferai un fichier simplifié dès demain.
Merci d'avance !
Excellente fin de journée.