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 ?
Merci d'avance !
A voir également:
Masquer une feuille en fonction d'une liste déroulante
Faire Alt F11 sur la feuille1 pour accéder à l'éditeur et mettre ce code qui se déclenchera à chaque changement:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("Q12")) Is Nothing Then
If Target.Value = "OUI" Then
Sheets("Feuil2").Visible = False
Else
Sheets("Feuil2").Visible = True
End If
End If
End Sub
J'ai essayé votre code, mais il n'a pas marché. Cependant j'ai trouvé ce code qui a marché pour moi :
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Nom As Variant Nom = Range("Q12")
If Not Intersect(Target, Range("Q12")) Is Nothing Then Select Case Nom Case Is = "Oui" Feuil2.Visible = True Case Is = "Non" Feuil2.Visible = False End Select End If End Sub