Sélection de feuilles avec liste déroulante

  • Initiateur de la discussion Initiateur de la discussion alain18
  • Date de début Date de début

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 !

alain18

XLDnaute Occasionnel
Bonjour à tous,
Je souhaiterais pouvoir sélectionner différentes feuilles d'un classeur avec une liste déroulante située sur une page d'accueil. Mais voila, je ne sais pas comment construire ce code VBA.
Je joint un petit fichier.
Merci de votre aide.
 

Pièces jointes

Re : Sélection de feuilles avec liste déroulante

Bonsoir alain18,

ci-dessous, le code à ajouter à l'Objet Feuille "Accueil":
VB:
Private Sub ComboBox1_Change()
If ComboBox1.Text = "" Then Exit Sub
Sheets(ComboBox1.Text).Select
End Sub

Private Sub Worksheet_Activate()
For f = 1 To Sheets.Count
    If Sheets(f).Name <> "Accueil" Then Me.ComboBox1.AddItem Sheets(f).Name
Next f
End Sub

Vois déjà si ça te convient ...
 
Re : Sélection de feuilles avec liste déroulante

Bonsoir Modeste,
Merci de venir me conseiller mais comme je ne suis pas un spécialiste, je coince un peu. Il y a certainement des choses à faire mais je n'y suis pas arrivé. Après avoir inséré le code, j'imagine qu'il y a autre chose à faire ? Il faut peut ètre créer une liste ?
Je remets mon fichier avec le code en PJ.

Merci.
 

Pièces jointes

Re : Sélection de feuilles avec liste déroulante

Re-bonsoir alain18,

En fait, tu as fait ce qu'il fallait ... De mon côté j'aurais dû ajouter une instruction pour éviter que la liste déroulante ne contienne plusieurs fois la liste des feuilles.
La procédure "Worksheet_Activate()" s'exécute chaque fois que la feuille "Accueil" est activée ... la liste devrait donc être à jour, en permanence. Essaie d'ajouter une feuille, puis active la feuille "Accueil".La nouvelle feuille devrait apparaître dans la liste.
La procédure "ComboBox1_Change()", quant à elle, s'exécute chaque fois qu'on sélectionne un élément dans la liste. Fais le test ici aussi ... et dis-nous s'il y a un souci ...

Ci-dessous une petite modif utile, me semble-t-il 😱
VB:
Private Sub Worksheet_Activate()
ComboBox1.Clear ' *** instruction ajoutée ***
For f = 1 To Sheets.Count
    If Sheets(f).Name <> "Accueil" Then Me.ComboBox1.AddItem Sheets(f).Name
Next f
End Sub
 
Re : Sélection de feuilles avec liste déroulante

Bonjour Modeste,
Merci pour ton aide et surtout merci pour tes explications qui me permettent de comprendre un peu mieux le VBA.
Après avoir pris en compte tes remarques, mon petit exemple fonctionne parfaitement. Toutefois étant qu'au début de mon projet, je pense que j'aurai encore besoin de nombreux conseils.
Donc, à bientôt sans doute !!
Bonne journée.
 
Re : Sélection de feuilles avec liste déroulante

Re, bonsoir
Le code de Modeste fonctionne parfaitement mais mon problême est le suivant:
Ce code affiche la liste des onglets dans le menu déroulant seulement après avoir été sur une autre feuille avant de revenir sur la feuille ou se trouve la ComboBox. Hors la feuille qui s'ouvre en premier est la feuille ou est la ComboBox et dans ce cas celle-ci est vide.
Il y a certainement une autre possibilité pour avoir une liste déroulante avec la liste des onglets à l'ouverture du fichier à cette page.
Merci de votre aide.
 

Pièces jointes

Re : Sélection de feuilles avec liste déroulante

Bonjour alain18,

Il y a certainement une autre possibilité pour avoir une liste déroulante avec la liste des onglets à l'ouverture du fichier à cette page.
Eh bien oui 😉 en utilisant une troisième procédure événementielle ... et devine comment elle se nomme? ... "Sub Workbook_Open()"

Dans l'éditeur Vba, double-clique sur l'objet ThisWorkbook et colle ce qui suit:
VB:
Private Sub Workbook_Open()
Sheets("Accueil").ComboBox1.Clear
For f = 1 To Sheets.Count
    If Sheets(f).Name <> "Accueil" Then Sheets("Accueil").ComboBox1.AddItem Sheets(f).Name
Next f
End Sub

Ferme le fichier (en l'enregistrant, bien sûr!) ... et rouvre-le ensuite.


Oups! Salut JB 🙂 Ah ben oui, pourquoi deux événements quand un seul suffit!?
 
Dernière édition:
Re : Sélection de feuilles avec liste déroulante

Bonjour Boisgontier, Modeste et le forum,
Je vous remercie pour vos conseils. Il me semble que maintenant si je n'y arrive pas, vous ne pourrez plus rien faire pour moi...!!
J'ai lancé un autre post qui revient à traiter ce sujet d'une autre manière, il faut maintenant faire le choix.
Je vous remercie,
Alain
 
- 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
8
Affichages
311
Retour