Excel Bande déroulante pour sélect feuill
jobine
-
Polux31 Messages postés 7219 Statut Membre -
Polux31 Messages postés 7219 Statut Membre -
Bonjour,
Je ne connais pas grand chose au VBA mais je voudrais insérer une bande déroulante contenant le nom des feuilles de mon classeur (environ une cinquantaine) et insérer une macro qui me permettrait d'ouvrir la feuille sélectionnée.
En vous remerciant de votre précieuse aide,
Jobine
Je ne connais pas grand chose au VBA mais je voudrais insérer une bande déroulante contenant le nom des feuilles de mon classeur (environ une cinquantaine) et insérer une macro qui me permettrait d'ouvrir la feuille sélectionnée.
En vous remerciant de votre précieuse aide,
Jobine
A voir également:
- Excel Bande déroulante pour sélect feuill
- Liste déroulante excel - Guide
- Excel liste déroulante en cascade - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
4 réponses
Bonjour,
Il faut aller dans l'éditeur VB (alt+F11). Ensuite il faut insérer un module. On suppose que ta liste déroulante (ComboBox) porte le nom de ComboBox1 et qu'il se trouve sur la première feuille. Ici j'ai gardé le nom du premier onglet (feuil1), remplace le par le nom de ton onglet.
Dans le module fait copier/coller de ça :
Toujours dans l'éditeur VB, double clique sur "Feuil1" et fait un copier/coller de ça sur la droite:
Pour remplir la liste à l'ouverture du fichier Excel, faire un double clique sur ThisWorbook (toujours dans l'éditeur VB) et faire un copier/coller de ça :
Sauvegarde ton fichier, ferme le et ouvre le de nouveau.
Si tu as un message concernant l'activation de la macro au démarrage, faire accepter.
Puis aller dans le menu Outils -> Macros -> sécurités et choisir l'option du bas (Basse)... valider et voilà ...
;o)
polux
Il faut aller dans l'éditeur VB (alt+F11). Ensuite il faut insérer un module. On suppose que ta liste déroulante (ComboBox) porte le nom de ComboBox1 et qu'il se trouve sur la première feuille. Ici j'ai gardé le nom du premier onglet (feuil1), remplace le par le nom de ton onglet.
Dans le module fait copier/coller de ça :
Option Explicit
Public Sub initCombo()
Dim ws As Worksheet
Dim i As Long
Feuil1.ComboBox1.Clear
Set ws = Worksheets(1)
For i = 1 To Sheets.Count
Feuil1.ComboBox1.AddItem Sheets(i).Name
Next i
End Sub
Toujours dans l'éditeur VB, double clique sur "Feuil1" et fait un copier/coller de ça sur la droite:
Private Sub ComboBox1_Click()
Worksheets(Me.ComboBox1.Text).Activate
End Sub
Pour remplir la liste à l'ouverture du fichier Excel, faire un double clique sur ThisWorbook (toujours dans l'éditeur VB) et faire un copier/coller de ça :
Private Sub Workbook_Open()
Module1.initCombo
End Sub
Sauvegarde ton fichier, ferme le et ouvre le de nouveau.
Si tu as un message concernant l'activation de la macro au démarrage, faire accepter.
Puis aller dans le menu Outils -> Macros -> sécurités et choisir l'option du bas (Basse)... valider et voilà ...
;o)
polux
Bonjour,
Il y a 2 outils qui permettent d'afficher des valeurs dans des "bandes déroulantes" : le ComboBox et la ListBox. Dans mon exemple j'ai pris, arbitrairement, un ComboBox mais tu peux utiliser une ListBox. Il suffit de remplacer dans le code ComboBox1 par ListBox1. Mais dans ton cas le ComboBox est plus approprié.
Pour affecter une propriété à un outils, il faut passer en mode création (l'icône avec l'équerre). Faire clique droit sur le contrôle posé sur la feuille et sur propriétés. Une fenêtre s'ouvre avec les propriétés.
Si tu as d'autres questions n'hésites pas à revenir ici.
;o)
Polux
Il y a 2 outils qui permettent d'afficher des valeurs dans des "bandes déroulantes" : le ComboBox et la ListBox. Dans mon exemple j'ai pris, arbitrairement, un ComboBox mais tu peux utiliser une ListBox. Il suffit de remplacer dans le code ComboBox1 par ListBox1. Mais dans ton cas le ComboBox est plus approprié.
Pour affecter une propriété à un outils, il faut passer en mode création (l'icône avec l'équerre). Faire clique droit sur le contrôle posé sur la feuille et sur propriétés. Une fenêtre s'ouvre avec les propriétés.
Si tu as d'autres questions n'hésites pas à revenir ici.
;o)
Polux
Maintenant, sans vouloir abuser, pourrais-tu me dire comment affecter le nom combobox1 à ma liste déroulante?
Encore merci d'avance!
Jobine