VBA tutoriel pour barres d'outils personnalisées dans Excel

Visual Basic pour Applications, ou VBA, permet de programmer un comportement personnalisé dans les classeurs Excel. Une des nombreuses utilisations de VBA est de construire et d'afficher des barres d'outils avec des boutons de commande que vous sélectionnez exécuter intégré dans Excel commandes personnalisées ainsi que des macros VBA. Au lieu d'utiliser les menus Excel par défaut qui sont optimisés pour l'utilisateur moyen, vous pouvez avoir un contrôle absolu sur les commandes qui vous avez un accès rapide à. Puisque le code est intégré dans le classeur lui-même, vos menus personnalisés seront disponibles partout où vous l'ouvrir.


Sommaire

Instructions

  1. Presse "Alt" et "F11" dans le même temps à partir de votre feuille de calcul Excel pour lancer l'éditeur Visual Basic.

  2. Double-cliquez "ThisWorkbook" dans le volet de navigation de gauche pour ouvrir une fenêtre de code vide.

  3. Copiez et collez le code suivant dans la fenêtre de code vide:

    AddMenus sub ()

    Dim cMenu1 comme CommandBarControl

    Dim cbMainMenuBar comme CommandBar

    Dim iHelpMenu As Integer

    Dim cbcCutomMenu comme CommandBarControl

    »(1) Supprimer une déjà existante. Nous devons utiliser On Error Resume Next _

    dans le cas où elle existe pas.

    On Error Resume Next

    Application.CommandBars ("Feuille Menu Bar") .Controls ("&Nouveau menu") .Delete

    On Error GoTo 0

    »(2) Définir une variable CommandBar pour la feuille barre de menu

    Réglez cbMainMenuBar = _

     Application.CommandBars ("Feuille Menu Bar")

    »(3) Retourne le numéro d'index du menu Aide. Nous pouvons ensuite utiliser _

    ce pour placer un menu personnalisé avant.

    iHelpMenu = _

     cbMainMenuBar.Controls ("Aidez-Moi") .index

    »(4) Ajouter un contrôle à la "Feuille Menu Bar" Aide avant.

    «Définir une variable CommandBarControl à elle

    Réglez cbcCutomMenu = _

     cbMainMenuBar.Controls.Add (Type: = msoControlPopup, _

    Avant: = iHelpMenu)

    »(5) Donner le contrôle d'une légende

    cbcCutomMenu.Caption = "&li-Nouveau menu"

    »(6) En collaboration avec notre nouvelle configuration, ajouter un contrôle et sous _

    donner une légende et lui dire qui macro à exécuter (OnAction).

    Avec cbcCutomMenu.Controls.Add (Type: = msoControlButton)

    .Légende = "Menu 1"

    .OnAction = "MyMacro1"

    End With

    »(6a) Ajouter un autre contrôle de sous lui donner une Légende _

    et dire que ce qui macro à exécuter (OnAction)

    Avec cbcCutomMenu.Controls.Add (Type: = msoControlButton)

    .Légende = "Menu 2"

    .OnAction = "MyMacro2"

    End With

    «Répétez l'étape "6a" pour chaque élément de menu que vous souhaitez ajouter.

    «Ajouter un autre menu qui mènera à un autre Menu

    «Définir une variable CommandBarControl à elle

    Réglez cbcCutomMenu = cbcCutomMenu.Controls.Add (Type: = msoControlPopup)

    «Donnez le contrôle d'une légende

    cbcCutomMenu.Caption = "Ne&li-xt Menu"

    «Ajouter un contol au menu sous, juste créé ci-dessus

    Avec cbcCutomMenu.Controls.Add (Type: = msoControlButton)

    .Légende = "&-Graphiques"

    .FaceID = 420

    .OnAction = "MyMacro2"

    End With

    End Sub

    Sous DeleteMenu ()

    On Error Resume Next

    Application.CommandBars ("Feuille Menu Bar") .Controls ("&li-Nouveau menu") .Delete

    On Error GoTo 0

    End Sub

    Sous MyMacro1 ()

    MsgBox "Je ne fais pas beaucoup encore, dois-je?", VbInformation, "Ozgrid.com"

    End Sub

    Sous MyMacro2 ()

    MsgBox "Je ne fais pas encore beaucoup soit, fais-je?", VbInformation, "Ozgrid.com"

    End Sub

    Private Sub Workbook_Activate ()

    Course "AddMenus"

    End Sub

  4. Presse "F5" pour enregistrer et exécuter le code. Cela va ajouter le menu personnalisé à chaque fois que vous ouvrez le classeur.




Conseils & Avertissements








  • Vous pouvez également créer des barres d'outils personnalisées sans VBA par la "Outils gt; Personnaliser" menu.
» » » » VBA tutoriel pour barres d'outils personnalisées dans Excel