Masquer onglet suivant choix liste déroulante

YANOU

XLDnaute Junior
Bonjour à tous.

J'ai une cellule B3 sur un onglet "Questionnaire" qui me permet de masquer (ou non) l'onglet "Feuil1" en écrivant "1" dans cette case :

If [B3] = "1" Then
Sheets("Feuil1").Visible = False
ElseIf [B3] = "" Then
Sheets("Feuil1").Visible = True
End If
End Sub

J'ai voulu faire évoluer mon classeur en ajoutant une liste déroulante sur la cellule B3 (choix 1,2,3...), mais cela ne fonctionne plus (même quand mon choix est "1").
Quelle modification dois-je apporter pour que cela fonctionne ?
Merci pour votre aide.
 

Pièces jointes

  • Essai.xls
    213 KB · Affichages: 40

YANOU

XLDnaute Junior
Re-bonjour.
Merci pour votre aide.
J'ai creusé un peu plus et suis arrivé à cela (fichier joint).
Par contre, si je veux rajouter un choix 3 qui masque les 2 feuilles "Descriptif réparation" et "Descriptif modification" cela ne fonctionne pas:
J'ai rajouter :
Case "Choix 3"
Sheets("Descriptif réparation").Visible = False
Sheets("Descriptif modification").Visible = False

dans mon code (?)
Code:
Private Sub Worksheet_Change(ByVal Target As Range)

  If Target.Count > 1 Then Exit Sub

  If Target.Address = "$A$1" Then

  Application.ScreenUpdating = False

  Select Case Target.Value

  Case "Réparation"

  Sheets("Descriptif réparation").Visible = True

  Sheets("Descriptif modification").Visible = False

  Case "Modification"

  Sheets("Descriptif réparation").Visible = False

  Sheets("Descriptif modification").Visible = True

  Case "Choix 3"
  Sheets("Descriptif réparation").Visible = False

  Sheets("Descriptif modification").Visible = False
End Select
  End If

End Sub
 

Pièces jointes

  • Classeur3.xlsm
    20.1 KB · Affichages: 23

YANOU

XLDnaute Junior
Bonjour.
Merci pour votre aide.
La première macro fonctionne, cependant, ma feuille contient une deuxième macro qui me permettait de remplir la cellule F5 de l'onglet questionnaire en fonction de mon choix (clic sur la cellule E5 ou E6) en allant chercher l'adresse sur l'onglet "Adresse", mais cela ne fonctionne plus ?
Il ne doit pas y avoir grand chose, mais je ne trouve pas...
 

Pièces jointes

  • Essai.xlsm
    26.1 KB · Affichages: 27

Chris401

XLDnaute Accro
Bonjour

Et faut que tu remettes ta Worksheet_SelectionChange
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("E5:E6")) Is Nothing Then
Range("F5") = Sheets("Adresse").Range("E" & Target.Row)
End If
End Sub
 

Jacky67

XLDnaute Barbatruc
re,
Je ne suis pas certain d'avoir compris l'aboutissement du fonctionnement de ce classeur......
Essaye ceci
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Address = "$B$3" Then
  Application.ScreenUpdating = False
  Select Case Target.Value
  Case "Réparation"
  Sheets("Descriptif réparation").Visible = True
  Sheets("Descriptif modification").Visible = False
  Case "Modification"
  Sheets("Descriptif réparation").Visible = False
  Sheets("Descriptif modification").Visible = True
  Case "DESP"
  Sheets("Descriptif réparation").Visible = False
  Sheets("Descriptif modification").Visible = False
  End Select
End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("E5:E6")) Is Nothing Then
Range("F5") = Sheets("Adresse").Range("E" & Target.Row)
End If
End Sub

Edit:
Oupss!
Désolé Chris ,pour le doublon
 
Dernière édition:

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 206
Messages
2 086 203
Membres
103 157
dernier inscrit
youma