Choix d'onglets à partir menu déroulant

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

moustic54

XLDnaute Occasionnel
Apparition d'onglets gràce à un menu déroulant

Bonsoir à tous

Je souhaiterai pouvoir faire apparaitre certains onglets en fonction du choix opéré à partir d'une liste de validation mais j'ignore comment faire ou si c'est seulement réalisable.

Merci d'avance si ceux et celles qui pourront m'apporter leur aide.
 

Pièces jointes

Dernière édition:
Re : Choix d'onglets à partir menu déroulant

Hello,

Ton fichier adapté...

Peut-être, il y a mieux que ce que j'ai fait 🙄
S'il y a que deux feuilles ça va, si il y en a plus, peut-être avec une boucle, mais ça c'est pas ma tasse de thé 😀

Bonne nuit à tous !

Hulk.
 

Pièces jointes

Re : Choix d'onglets à partir menu déroulant

Hello,

Ton fichier adapté...

Peut-être, il y a mieux que ce que j'ai fait 🙄
S'il y a que deux feuilles ça va, si il y en a plus, peut-être avec une boucle, mais ça c'est pas ma tasse de thé 😀

Bonne nuit à tous !

Hulk.

🙂 Super !!!
Merci pour ton aide Hulk, c'st exactement ce que je voulais obtenir.

Une question, est il possible apres avoir choisi l'onglet, de rester sur la feuille 1, par exemple en C11, plutot que de se retrouver sur le nouvel onglet apparu (normal ou autre) ?

Mais si c'est impossible, ce n'est pas tres grave, tu m'as déjà dépanné.

bonne nuit à toi aussi
 
Re : Choix d'onglets à partir menu déroulant

Bonsoir Moustic54, Hulk,

Pour cela il te suffit tout simplement de supprimer les lignes bleu :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

    If [I10] = "normal" Then
        Sheets("normal").Visible = True
[COLOR="Blue"][B]        Sheets("normal").Select[/B][/COLOR]
    Else
        Sheets("normal").Visible = False
        Sheets("autre").Visible = True
[B][COLOR="Blue"]        Sheets("autre").Select[/COLOR][/B]
    End If

End Sub

Et le tour est joué (ainsi tu resteras sur l'onglet Feuil1, sur la cellule où tu te trouvais avant que la macro se déclenche).

Bonne fin de soirée
 
Dernière édition:
Re : Choix d'onglets à partir menu déroulant

Bonsoir Excel-lent

Tu as du trouver ma question vraiment stupide et bien rire !!!
J'apprecie d'autant plus ta réponse.... même si je me trouve un peu nul a posteriori.

Merci à tous les deux pour votre aide, toujours tres pro. et disponibles.

Bonne nuit
 
Re : Choix d'onglets à partir menu déroulant

Bonjour à tous
Pourquoi faire simple lorsqu'on peut faire compliqué ?
Code:
[COLOR="DarkSlateGray"]Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer, j As Integer
Dim Cat, xCat As String, nomCat As String, nFeuille As String
   If Target.Cells(1, 1).Address = "$I$10" Then
      Cat = Array("normal", "autre")
      [COLOR="Red"]nomCat = Target.Cells(1, 1).Value[/COLOR]
      If nomCat <> "normal" Then nomCat = "autre"
      Application.ScreenUpdating = False
      With ThisWorkbook.Sheets
         For i = 1 To .Count
            nFeuille = .Item(i).Name
            For j = 0 To UBound(Cat)
               xCat = Cat(j)
               If xCat = nFeuille Then .Item(i).Visible = (nFeuille = nomCat)
            Next j
         Next i
      End With
      Application.ScreenUpdating = False
   End If
End Sub[/COLOR]
ROGER2327
#1993
 
Dernière édition:
Re : Choix d'onglets à partir menu déroulant

Bonjour à tous,

Merci Excel-lent, c'est sympa !!
Grace à l'aide apportée par tous sur ce forum, je progresse sous Excel même si c'est à petits pas.
Comme écrit plus haut, vous êtes tres pro et en plus modestes ce qui ne gache rien.

Bonne journée à tous
 
Re : Choix d'onglets à partir menu déroulant

Bonjour à tous,

Je reviens vers vous, toujours avec ma liste déroulante (liste de validation) qui conditionne l'apparition d'onglets.

1. J'ai dans ma feuille une autre liste déroulante en B2 qui, lorsque j'en change les valeurs, actionne l'affichage des onglets alors que je ne voudrais que cet affichage soit uniquement conditionné par la liste se trouvant en I10.
C'est pourtant les bonnes références prises dans la macro :

PHP:
Private Sub Worksheet_Change(ByVal Target As Range)

    If [I10] = "normal" Then
        Sheets("normal").Visible = True
        Sheets("autre").Visible = False
    Else
        Sheets("normal").Visible = False
        
         End If
End Sub

Quelqu'un aurait-il une idée sur ce fonctionnement indépendant ?

2. Autre question sur les listes de validation.
Est-il possible, lorsqu'une cellule (ex: D64=1) apparaisse en F64, une liste de validation nommée Pourcent sachant que cette liste se trouve sur une autre feuille du classeur.

Je vous remercie par avance de votre aide. Bonne journée à vous tous
 
Dernière édition:
Re : Choix d'onglets à partir menu déroulant

Re...
Au risque de me répéter :
Bonjour à tous
Pourquoi faire simple lorsqu'on peut faire compliqué ?
Code:
[B][COLOR="DarkSlateGray"]Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer, j As Integer
Dim Cat, xCat As String, nomCat As String, nFeuille As String
   If Target.Cells(1, 1).Address = "$I$10" Then
      Cat = Array("normal", "autre")
      nomCat = Target.Cells(1, 1).Value
      If nomCat <> "normal" Then nomCat = "autre"
      Application.ScreenUpdating = False
      With ThisWorkbook.Sheets
         For i = 1 To .Count
            nFeuille = .Item(i).Name
            For j = 0 To UBound(Cat)
               xCat = Cat(j)
               If xCat = nFeuille Then .Item(i).Visible = (nFeuille = nomCat)
            Next j
         Next i
      End With
      Application.ScreenUpdating = False
   End If
End Sub[/COLOR][/B]
ROGER2327
#1993
 
Re : Choix d'onglets à partir menu déroulant

Bonsoir,

hard, c'est difficile ?
Pourquoi 2 choix pour le prix d'un ?
Pourquoi 2 listes identiques en B2 et I10 ?
Voir D6 et F6 (même écran) pour la seconde partie.

Bonsoir Lii
Et bien justement non, il ne s'agit pas de la même liste en B2 et I10, c'est d'ailleurs pour cette raison que je ne comprends pas pourquoi lorsque je modifie la liste B2 elle affiche les onglets, action qui s'active normalement uniquement avec la cellule I10 (macro liée à cette unique cellule)
Pour la seconde partie, est-il possible, à l'inverse, si cellule est différente de 1 dans la colonne D (pour reprendre le fichier que tu m'as joint) alors disparition de la liste de validation en F ?

Bonsoir Roger,
Je sais que tu as déjà insrit la macro mais je ne la comprends pas c'est pourquoi j'ai choisi la plus simple des macros. Mais puisque cela ne fonctionne pas, je vais tenter d'adapter la tienne.

Bonne soirée à tous et merci pour votre aide.
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
736
Retour