Masquer une feuille en fonction d'une liste déroulante [Résolu]

Signaler
Messages postés
2
Date d'inscription
mardi 9 février 2021
Statut
Membre
Dernière intervention
9 février 2021
-
Messages postés
2
Date d'inscription
mardi 9 février 2021
Statut
Membre
Dernière intervention
9 février 2021
-
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 !

2 réponses

Messages postés
7288
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
8 mars 2021
618
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à
Messages postés
2
Date d'inscription
mardi 9 février 2021
Statut
Membre
Dernière intervention
9 février 2021

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.