Je travaille sur un fichier Excel de plusieurs feuilles. Dans la cellule Q12 de la feuille 1, j'ai inséré une liste déroulante, et en fonction du choix dans la liste je souhaite masquer ou afficher une feuille (si oui = masquer feuille 2 / Si non = affiche feuille 2).
Je pense ne pas utiliser la bonne formule de Private Sub sur VBA.
Pouvez-vous m'aider, s'il vous plaît ?
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("q12")) Is Nothing Then Exit Sub
If Range("q12") = "Oui" Then
Sheets("Feuil2").Visible = False
Else
Sheets("Feuil2").Visible = True
End If
End Sub
Bonjour, quand vous dites avoir inséré une liste déroulante, c'est une liste de validation dont vous parlez ?
En ce cas le code de @goube est celui qu'il vous faut .
Ou le code simplifié ci-dessous qui revient au même :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("Q12")) Is Nothing _
Then Sheets("Feuil2").Visible = UCase(Range("Q12")) = "NON"
End Sub