Masquer une feuille en fonction d'une liste déroulante

Résolu/Fermé
JannineNOLAM Messages postés 2 Date d'inscription mardi 9 février 2021 Statut Membre Dernière intervention 9 février 2021 - 9 févr. 2021 à 10:00
JannineNOLAM Messages postés 2 Date d'inscription mardi 9 février 2021 Statut Membre Dernière intervention 9 février 2021 - 9 févr. 2021 à 12:01
Bonjour,

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:

2 réponses

cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
9 févr. 2021 à 11:13
Bonjour,

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



Voilà
0
JannineNOLAM Messages postés 2 Date d'inscription mardi 9 février 2021 Statut Membre Dernière intervention 9 février 2021
9 févr. 2021 à 12:01
Bonjour,

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


Merci pour votre aide.
0