Accueil
Accueil Le Club Delphi Kylix C C++ Java J2EE DotNET & C# Visual Basic Access Pascal Dev Web PHP ASP XML UML SQLSGBD Windows Linux Autres
logo
Sommaire > Les barres d'outils et les menus personnalisés
        Comment créer une barre d'outils personnelle par macro ?
        Comment copier l'image d'un bouton ?
        Comment afficher les menus dans leur intégralité ?
        Comment ajouter la calculatrice Microsoft Windows dans un menu Excel ?
        Comment savoir quel bouton d'une barre personnalisée a été cliqué ?
        Comment ajouter une commande au menu contextuel des cellules ?
        Comment réinitialiser le menu contextuel des cellules ?
        Où sont passés mes menus et boutons personnalisés, dans Excel 2007 ?
        Toutes les barres de menus ont disparu, comment les retrouver ?
        Comment réafficher la barre de formule ?
        Comment lister les FaceID dans la feuille de calcul ?
        4.1. Le ruban, la barre d'outils accès rapide et le bouton Office 2007 (20)
                Où trouver une description du bouton Office et du ruban Excel 2007 ?
                Où se trouve l'onglet de gestion des macros, dans Excel 2007 ?
                Comment afficher les raccourcis clavier du ruban ?
                Comment se déplacer rapidement entre les différents onglets du ruban ?
                Est il possible d'afficher rapidement les boîtes de dialogues depuis le ruban Excel 2007 ?
                Comment masquer ou réafficher le ruban par macro ?
                Est-il possible de copier la barre d'outils Accès rapide Excel2007 ?
                Comment retrouver l'ID de chaque contrôle du ruban ?
                Est-il possible de déclencher une macro depuis la barre d'outils accès rapide ?
                Comment modifier les images des boutons placés dans la barre d'outils accès rapide ?
                Existe-t-il des outils pour faciliter la personnalisation du ruban ?
                Quels sont les noms xml des onglets standards, dans Excel2007 ?
                Est-il possible d'afficher un groupe standard dans un onglet personnel ?
                Comment ajouter un groupe dans un onglet standard ?
                Est-il possible d'afficher une commande standard dans un onglet personnel ?
                Comment masquer un onglet standard ?
                Comment désactiver une commande prédéfinie du ruban ?
                Comment gérer un Combobox dans un onglet personnalisé ?
                Comment activer de manière conditionnelle un bouton dans un onglet personnalisé ?
                Comment forcer le regroupement de tous mes compléments dans un même onglet ?

precedent    sommaire    suivant   


Comment créer une barre d'outils personnelle par macro ?
auteur : SilkyRoad
Cet exemple est placé dans le module objet du classeur et utilise l'évènement Workbook_Open.
De cette manière, la barre est créée automatiquement lors de l'ouverture du fichier.

Vba

Private Sub Workbook_Open()
    Dim CmdBar As CommandBar
    Dim Bouton As CommandBarButton
    
    'Création de la barre d'outils nommée 'MaBarrePerso'
    Set CmdBar = Application.CommandBars _
        .Add(Name:="MaBarrePerso", Position:=msoBarTop, Temporary:=True)
    
    'Ajout de 3 boutons dans la barre d'outils
    Set Bouton = CmdBar.Controls.Add(Type:=msoControlButton)
    With Bouton
        'Définit "l'image" qui va s'afficher sur le bouton
        .FaceId = 133
        'Définit quelle macro est associée au bouton.
        'Cette macro sera lancée à chaque fois que vous cliquez sur le bouton.
        .OnAction = "Macro1"
    End With
    
    Set Bouton = CmdBar.Controls.Add(Type:=msoControlButton)
    With Bouton
        .FaceId = 134
        .OnAction = "Macro2"
    End With
    
    Set Bouton = CmdBar.Controls.Add(Type:=msoControlButton)
    With Bouton
         .FaceId = 135
        .OnAction = "Macro3"
    End With
    
    CmdBar.Visible = True
End Sub



Ce deuxième code utilise l'évènement Workbook_BeforeClose et supprime la barre personnelle lors de la fermeture du classeur.

Vba

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    On Error Resume Next
    Application.CommandBars("MaBarrePerso").Delete
End Sub



Rappel:
Dans Excel2007, les menus et barres d'outils personnels sont stockés dans l'onglet "Complément".



Comment copier l'image d'un bouton ?
auteur : SilkyRoad
Effectuez un clic droit sur les barres d'outils.
Sélectionnez l'option Personnaliser dans le menu contextuel.
La boîte de dialogue "Personnalisation" s'affiche à l'écran.
Refaites un clic droit dans les barres d'outils, sur le bouton dont vous souhaitez copier l'image.
Sélectionnez l'option "Copier l'image du bouton".
Vous pouvez ensuite effectuer un collage de l'image sur un autre bouton en sélectionnant l'option "Coller l'image du bouton".

Pour coller l'image dans la feuille de calcul, fermez la boîte de dialogue "Personnalisation", sélectionnez une cellule puis effectuez le collage (Ctrl+V).



Comment afficher les menus dans leur intégralité ?
auteur : SilkyRoad
Dans Excel 2002, par défaut seuls les derniers éléments récemment utilisés s'affichent lorsque vous cliquez sur un menu.

Pour afficher tous les éléments des menus:
Effectuez un clic droit sur la barre de menus.
Sélectionnez l'option Personnaliser.
Cliquez sur l'onglet Options.
Cochez la case Toujours afficher les menus dans leur intégralité.
Cliquez sur le bouton Fermer pour valider.



Comment ajouter la calculatrice Microsoft Windows dans un menu Excel ?
auteur : SilkyRoad
Effectuez un clic droit sur la barre de menus.
Sélectionnez l'option Personnaliser.
Sélectionnez l'onglet Commandes dans la boîte de dialogue Personnalisation.
Choisissez Outils dans la liste des catégories.
Sélectionnez Personnaliser (avec l'icône de la calculatrice sur la gauche) dans la liste des commandes.
Gardez le bouton gauche de la souris enfoncé et faites glisser la calculatrice jusqu'à l'emplacement de votre choix dans la barre de menus.

Pendant que la boîte de dialogue Personnalisation est affichée, vous pouvez modifier le nom attribué en faisant un clic droit sur le bouton qui vient d'être ajouté.


Comment savoir quel bouton d'une barre personnalisée a été cliqué ?
auteur : SilkyRoad
Il est possible de récupérer l'information en utilisant la propriété ActionControl:
Placez ces trois procédures dans un module standard. La première macro crée une barre d'outils personnalisée. La deuxième macro est appelée lorsque vous cliquez sur un des boutons dans la barre d'outils. La troisième permet de supprimer la barre d'outils.

Vba

Sub CreationBarre()
    Dim cbBarre As CommandBar
    Dim CB_B1 As CommandBarButton, CB_B2 As CommandBarButton
    Dim CB_B3 As CommandBarButton
    
    Set cbBarre = CommandBars _
        .Add(Name:="Ma barre perso", Position:=msoBarTop, Temporary:=True)
    
    Set CB_B1 = cbBarre.Controls.Add(Type:=msoControlButton)
    With CB_B1
        .FaceId = 353
        .Tag = "Premier bouton"
        .OnAction = "TestMacro"
    End With
    
    Set CB_B2 = cbBarre.Controls.Add(Type:=msoControlButton)
    With CB_B2
        .FaceId = 351
        .Tag = "Deuxième bouton"
        .OnAction = "TestMacro"
    End With
    
    Set CB_B3 = cbBarre.Controls.Add(Type:=msoControlButton)
    With CB_B3
        .FaceId = 352
        .Tag = "Troisième bouton"
        .OnAction = "TestMacro"
    End With
    
    cbBarre.Visible = True
End Sub


Sub TestMacro()
    MsgBox CommandBars.ActionControl.Tag
End Sub


Sub SuppressionBarre()
    On Error Resume Next
    CommandBars("Ma barre perso").Delete
End Sub


Comment réinitialiser le menu contextuel des cellules ?
auteur : SilkyRoad
Le menu contextuel des cellules apparait lorsque vous faites un clic droit dans la feuille de calcul.
Celui ci peut être paramétré afin d'ajouter ou supprimer des transactions personnalisées.

La macro suivante permet de la réinitialiser le menu contextuel:

Vba

Application.CommandBars("cell").Reset

Où sont passés mes menus et boutons personnalisés, dans Excel 2007 ?
auteur : SilkyRoad
Vous pouvez atteindre les menus et boutons personnalisés en ouvrant l'onglet Complément dans le ruban.




Comment réafficher la barre de formule ?
auteur : SilkyRoad
Si votre barre de formule a disparu:
Utilisez le menu Outils
Options
Onglet Affichage
Cochez l'option "Barre des formules"
Cliquez sur le bouton OK pour valider.

Sous Excel2007:
Cliquez sur le bouton Office
Cliquez sur le bouton "Options Excel"
Sélectionnez le menu "Options avancées"
Dans le groupe "Afficher", cochez l'option "Afficher la barre de formule"
Cliquez sur le bouton OK pour valider.



Comment lister les FaceID dans la feuille de calcul ?
auteur : SilkyRoad
Les FaceID sont les images qui apparaissent sur les boutons des barres d'outils.

Vba

Sub Liste_FaceIDs()
    Dim tBar As CommandBar
    Dim i As Long

    'Supprime la barre d'outils temporaire si elle existe.
    On Error Resume Next
    Application.CommandBars("BarreTemp").Delete
    On Error GoTo 0
    
    'Supprime le contenu de la feuille
    Worksheets("Feuil1").Pictures.Delete
    Worksheets("Feuil1").Cells.ClearContents
    Application.ScreenUpdating = False
    
'   Add an empty toolbar
    Set tBar = Application.CommandBars.Add(Name:="BarreTemp")

    For i = 1 To 1870
        On Error Resume Next
        'Supprime le bouton précédent
        tBar.Controls(1).Delete
        On Error GoTo 0
        
        'Crée un nouveau bouton dans la barre d'outils
        With tBar.Controls.Add(Type:=msoControlButton)
            'Ajoute un FaceID
            .FaceId = i
            'Copie le FaceID
            .CopyFace
        End With
        
        'Effectue le collage dans la feuille
        Worksheets("Feuil1").Paste
        
        'Repositionne et nomme la nouvelle forme collée
        With Worksheets("Feuil1").Shapes(i)
            .Top = Cells(i, 1).Top
            .Left = 15
            .Name = "ID_" & i
        End With
        
    Next i
    
    'Supprime la barre d'outils temporaire
    Application.CommandBars("BarreTemp").Delete
    Application.ScreenUpdating = True
    
    MsgBox "Terminé."
End Sub

precedent    sommaire    suivant   

Consultez les autres F.A.Q's


Les sources présentés sur cette pages sont libre de droits, et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright ©2008  Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérets. Cette page est déposée à la SACD.

Vos questions techniques : forum d'entraide Accueil - Publiez vos articles, tutoriels, cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter - Copyright 2000..2005 www.developpez.com