Excel Bande déroulante pour sélect feuill

jobine -  
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
Configuration: Windows XP
Internet Explorer 7.0

4 réponses

  1. Polux31 Messages postés 7219 Statut Membre 1 204
     
    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 :
    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
    0
    1. jobine
       
      Merci Pollux pour tes infos.

      Maintenant, sans vouloir abuser, pourrais-tu me dire comment affecter le nom combobox1 à ma liste déroulante?

      Encore merci d'avance!

      Jobine
      0
  2. Polux31 Messages postés 7219 Statut Membre 1 204
     
    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
    0
  3. jobine
     
    Désolé pour le délais de réponse.

    Merci beaucoup Polux!

    c'est très apprécié!
    jobine
    0
    1. Polux31 Messages postés 7219 Statut Membre 1 204
       
      de rine, content de t'avoir aidé

      bon courage pour la suite

      ;o)

      polux
      0
  4. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonsoir,

    si c'est juste pour sélectionner une feuille tu as le truc indiqué par je ne sais plus qui (désolé pour lui ou elle) qui consiste à faire un clic droit sur les petites icones en bas à gauche qui permettent de faire défiler les onglets.
    Une liste des feuilles apparait

    eric
    0