Afficher / masquer feuille(s) selon cellule [Résolu]

Signaler
Messages postés
10
Date d'inscription
mardi 17 novembre 2020
Statut
Membre
Dernière intervention
22 décembre 2020
-
Messages postés
7214
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
19 janvier 2021
-
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

2 réponses

Messages postés
7214
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
19 janvier 2021
601
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à
Messages postés
10
Date d'inscription
mardi 17 novembre 2020
Statut
Membre
Dernière intervention
22 décembre 2020

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.
Messages postés
7214
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
19 janvier 2021
601
Pour ta question, si tu veux parler du Select Case, cela remplace If End If . Plus lisible.

Regarde sur Google Select Case

@+ le Pivert