Afficher / masquer feuille(s) selon cellule

Résolu/Fermé
Belinos Messages postés 15 Date d'inscription mardi 17 novembre 2020 Statut Membre Dernière intervention 17 février 2021 - Modifié le 18 déc. 2020 à 14:08
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 - 18 déc. 2020 à 17:14
Bonjour,
Je débute sur Vba, j'ai un petit problème sur mon code...
Je voudrais selon la valeur d'une cellule D3 (OUI ou NON ou vide) :
- Afficher la feuil1 si OUI
- Afficher la feuil2 si NON
- Afficher les 2 feuilles si la cellule est vide.

Cela fonctionne parfaitement si j'enlève la première partie ou la deuxième partie mais je n'arrive pas à combiner les 2 parties. Le code est inséré dans la feuille de menu.

Private Sub Worksheet_Change(ByVal R As Range)

'1ère partie
      If Intersect(R, [D3]) Is Nothing Then Exit Sub
  Sheets("Feuil1").Visible = R = "OUI":
  
      If Intersect(R, [D3]) Is Nothing Then Exit Sub
  Sheets("Feuil2").Visible = R = "NON":

 '2ème partie
  If Intersect(R, [D3]) Is Nothing Then Exit Sub
Sheets("Feuil1").Visible = R = "": Sheets("Feuil2").Visible = R = "":
End Sub


Merci pour votre aide !

Bonne journée
A voir également:

2 réponses

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
18 déc. 2020 à 15:01
Bonjour,

comme ceci:

Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("D3")) Is Nothing Then
Select Case Target.Value
Case Is = "OUI"
Worksheets("Feuil1").Visible = True
Worksheets("Feuil2").Visible = False
Case Is = "NON"
Worksheets("Feuil1").Visible = False
Worksheets("Feuil2").Visible = True
Case Else
Worksheets("Feuil1").Visible = True
Worksheets("Feuil2").Visible = True
End Select
End If
End Sub


Voilà
0
Belinos Messages postés 15 Date d'inscription mardi 17 novembre 2020 Statut Membre Dernière intervention 17 février 2021
18 déc. 2020 à 15:33
Merci beaucoup ça fonctionne!!
Petite question : Est-il possible que l'action Visible ou non visible se fasse automatiquement et non par le biais d'une case à sélectionner.
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
18 déc. 2020 à 17:14
Pour ta question, si tu veux parler du Select Case, cela remplace If End If . Plus lisible.

Regarde sur Google Select Case

@+ le Pivert
0