Liste déroulante de certains onglet du classeur

Bonjour,

J’ai bien essayé tout ce qui ce rapprochait de près ou de loin ce que j’ai trouver sur le forum pour Obtenir ce que je veux mais sans succès.

Pourtant je penses que c’est simple:

Je voudrais créer des liste déroulante sur la feuill1 de mon classeur (« ACCEUIL »), afin de desservir certaines feuilles de mon classeur.

Ma page acceuil étant surtout composé de lien hypertexte soit vers le classeur soit ailleurs, je souhaiterais faire quelque chose d'esthétique et créer ces listes grâce à l’onglet développeur.

Merci d’avance

leakim

Désolé mon fichier se trouve sur un réseau sécurisé sur lequel je n’ai pas accès à internet, pourriez vous m’expliquer La procédure sans le fichier???

Voila un fichier

29classeur2.xlsm (55.65 Ko)

HELP

??????

Bonjour,

Sur ta page "ACCEUIL" (<---attention à la faute, accueil s'écrit "ACCUEIL" donc corriges sinon le code ne fonctionnera pas comme il faut), tu poses un ComboBox "ActriveX" et nom "Formulaire" comme tu as fais ensuite, tu double cliques dessus tu te retrouves alors dans le module VBA de la feuille "ACCUEIL" là, tu supprimes tout le code qui s'y trouve, qui est un squelette de procédure événementielle et qui doit ressembler à ça :

Private Sub ComboBox1_Change()

End Sub

et tu le remplaces par celui ci-dessous :

Private Sub Worksheet_Activate()

    Dim Fe As Worksheet

    ComboBox1.Clear

    For Each Fe In Worksheets

        If Fe.Name <> "ACCUEIL" Then ComboBox1.AddItem Fe.Name

    Next Fe

End Sub

Private Sub ComboBox1_Click()

    Worksheets(ComboBox1.Text).Activate

End Sub

Ceci fait, tu retournes dans Excel et tu cliques sur le bouton "Mode création" de l'onglet "Développeur" afin d'activer les procédures événementielles du ComboBox. Qand tu en es à ce stade, tu cliques sur l'onglet de n,importe quelles autres feuilles puis tu reviens sur ta feuille ACCUEIL et tu testes ton ComboBox

Super ca marche merci beaucoup, mais est il possible de limiter la liste a certaine feuilles du classeur?

Merci d'avance

Autre "problème", je constate que a chaque fois que je ferme et rouvre le fichier, les feuilles qui compose la liste disparaisse.

Elles reviennent lorsque je clique sur n'importe quelle feuille, mais serait il possible d'éviter cette manipulation et m'afficher une liste complétée dès l'ouverture du fichier?

Merci d'avance

Bonjour

Vois ce fichier

44classeur2-v1.xlsm (69.33 Ko)

Dis-moi

Bye

Ok merci, j'ai résolu (grâce a vous) le problème de la liste "vide", mais comment faire pour choisir les feuilles que je veux voir apparaitre dans la liste?

Re

C'est simple , tout se passe là :

Private Sub Workbook_Open()
Dim Fe As Worksheet
    Sheets("Accueil").ComboBox1.Clear
    For Each Fe In Worksheets
        If Fe.Name <> "ACCUEIL" Then Sheets("Accueil").ComboBox1.AddItem Fe.Name
    Next Fe
End Sub

Tu fais Alt F11 tu vas dans ThisWorkBook, le code est là

A +

Désolé je dois être bête, mais je ne vois pas quoi changer dans le code pour choisir les feuilles que je veux voir apparaitre...

Re,

A mettre dans un module standard :

Sub ChargerFeuilles()

    Dim Fe As Worksheet
    Dim Ctrl As OLEObject

    Set Ctrl = Worksheets("ACCUEIL").OLEObjects("ComboBox1")

    Ctrl.Object.Clear

    For Each Fe In Worksheets

        Select Case Fe.Name

            'ici les feuilles à éviter séparées par une virgule et encadrées par des guillemets
            Case "ACCUEIL", "Patron", "Chef"

            Case Else
                Ctrl.Object.AddItem Fe.Name 'les autres seront chargées dans la liste

        End Select

    Next Fe

End Sub

Dans le module de la feuille ACCUEIL :

Private Sub Worksheet_Activate()

    ChargerFeuilles

End Sub

Private Sub ComboBox1_Click()

    Worksheets(ComboBox1.Text).Activate

End Sub

et dans le module du classeur :

Private Sub Workbook_Open()

    ChargerFeuilles

End Sub

Si tu appelles le code seulement depuis l'événement Open() du classeur, l'ajout d'une nouvelle feuille ne sera pas pris en compte avant la réouverture du classeur mais en appelant aussi depuis l'événement Activate() de la feuille ACCUEIL elle sera ajouté dans la liste sitôt retourné sur la feuille ACCUEIL

Génial merci encore, et une dernière chose, si je veux mettre sur la même feuille ACCEUIL une autre liste déroulante pour d'autre feuille c'est possible?

Bonjour Theze

Merci d'avoir pris la relève , j'étais sur un autre cas

@Dub

Oui tu peux mettre autant de listes déroulantes qu'il te plaît..

A+

Désole d'usé de votre temps, mais lorsque je crée une nouvelle liste en utilisant la même manipulation, rien ne s'affiche dans la liste, j'essaye pourtant de modifier avec combobox2 mais rien n'y fait...

Bonsoir

Renvoie ton fichier

Merci

A+

Alors voila une version très sommaire de mon fichier, ma première liste déroulante (la bleue)marche parfaitement comme je le souhaite.

je voudrais donc en faire une seconde (la rouge) pour d'autres feuilles. Et aussi en faire d'autre sur une autre page qui n'est pas l'ACCUEIL.

Merci d'avance

9classeur122.xlsm (49.83 Ko)

Bonsoir

Fichier modifié

Là tu as les mêmes feuilles dans les 2 listes. A toi de voir celles que tu veux éviter dans ta 2ème liste

Tu as

ChargerFeuilles1 pour la liste 1

et chargerfeuilles2 pour la liste 2

A+

Rechercher des sujets similaires à "liste deroulante certains onglet classeur"