Associer à un bouton une Macro : redirection vers onglets en fonction d'une liste déroulante

-3

Bonjour tout le monde,

J'ai une liste déroulante avec plusieurs choix : 1 couche, 2 couches, 3 couches....

Je voudrais créer un bouton et lui associer une macro qui, en fonction du choix dans la liste déroulante me renvoie vers l'onglet qui lui est associé. J'ai déjà créer les onglets "1 couches", "2 couches"... La macro du bouton me permettrait alors de rediriger vers l'onglet.

Merci d'avance.

Posté le 12 novembre 2014, 13:50
Répondre
0

Voici comment faire :

  1. Aller dans l'onglet Développeur > Insérer, et ajouter 2 champs (Contrôles ActiveX) à la feuille de calcul (par exemple "Feuil1") :
    • Zone de liste déroulante (en la nommant listeFeuilles, dans les propriétés)
    • Bouton de commande (en le nommant GoButton)
  2. Dans l'éditeur Visual Basic, dans ThisWorkbook, écrire ce code :
    Private Sub Workbook_Open()
        Dim oSheet As Excel.Worksheet
        Dim oList As MSForms.ComboBox
        Set oList = ActiveWorkbook.Sheets(1).listeFeuilles
        oList.Clear
        For Each oSheet In ActiveWorkbook.Sheets
            oList.AddItem oSheet.Name
        Next oSheet
    End Sub
  3. Dans le code de la feuille qui contient les 2 champs (c'est-à-dire Feuil1), écrire ce code :
    Private Sub GoButton_Click()
        ActiveWorkbook.Sheets(listeFeuilles.Value).Activate
    End Sub

Et le tour est joué. Tu peux télécharger un fichier d'exemple ici : http://finalclap.free.fr/CDN/engalere-excel/q717-switch-sheet.xlsm

Vince Posté le 12 novembre 2014, 16:52
par Vince
0

bonjour.

je souhaite créer un bouton macro pour activer un onglet du menu Excel

exemple: Afficher le formulaire du menu Formulaire en cliquant sur le bouton

Posté le 5 octobre 2020, 21:03
par mamita
0
Muchas gracias. ?Como puedo iniciar sesion?
Posté le 25 novembre 2023, 23:24
par mkiifezmke

Si vous n'êtes pas inscrit sur le site, vous pouvez poster librement (en tant qu'invité).
Pour cela, indiquez un pseudonyme (nom d'utilisateur) et une adresse email :