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

Résolu
JannineNOLAM Messages postés 2 Statut Membre -  
JannineNOLAM Messages postés 2 Statut Membre -
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

  1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    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
  2. JannineNOLAM Messages postés 2 Statut Membre
     
    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