Garder la sélection dans une liste déroulante

Résolu
Quincaill Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
Quincaill Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Je suis vraiment pas forte en VBA et j'ai un problème suite à un bout de code que j'ai trouvé sur un forum. Je veux faire une liste déroulante avec les noms des onglets de mon classeur excel. J'ai donc tapé ce code :

Private Sub CBox1_DropButtonClick()
Dim onglet As Worksheet
CBox1.Clear
For Each onglet In ThisWorkbook.Worksheets
CBox1.AddItem onglet.Name
Next onglet
End Sub

Le problème est donc qu'avec le "CBox1.Clear", quand que je sélectionne un onglet dans la liste déroulante, il ne reste pas affiché. Et si je supprime le "CBox1.Clear" A chaque fois que je fait dérouler la liste une nouveau jeu de nom d'onglet s'ajoute ! Comme ça :


Merci de l'aide que vous m'apporterez !

Quincall'
A voir également:

1 réponse

pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Bonjour,

Ta liste déroulante est située ou?
Dans une feuille?
Dans un UserForm?
0
Quincaill Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Elle est située dans une UserForm.
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761 > Quincaill Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Alors, tu dois remplir ta combobox (le code donné plus haut) dans l'événement Initialize de cet UserForm.
Private Sub UserForm_Initialize()
Dim onglet As Worksheet
   CBox1.Clear
   For Each onglet In ThisWorkbook.Worksheets
      CBox1.AddItem onglet.Name
   Next onglet
End Sub
0
Quincaill Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Super ! Ca fonctionne trop bien ! Merci beaucoup !!
Mais du coup j'ai pas bien compris ce que ça change de le mettre dans la ComboBox ou dans l'initialisation de la UserForm ?
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761 > Quincaill Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
La question importante lorsque l'on veut utiliser un événement, c'est de savoir quand se déclenche cet événement...
Tu as utilisé DropButtonClick() mais quand se déclenche t'il?
Lors de mes tests, j'ai vu qu'il se déclenchait :
  • lors du clic sur la petite flèche de la combobox
  • lors de la sélection d'une valeur de la combobox

Donc, à chaque sélection, tu relance le code, efface tout et recommence.
A partir de là, il te fallait juste choisir un autre événement.
0
Quincaill Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
D'accord, très bien, je ferais attention la prochaine fois !
Encore merci.

Quincaill'
0