IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Ajout menu dans Barre d'excel [XL-MAC 2004]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 95
    Par défaut Ajout menu dans Barre d'excel
    Bonjour,
    Je suis un peu embêté car je n'arrive pas à insérer un menu dans la barre d'excel, juste après "Help".
    Je l'avais fait sur un ancienne version d'excel et je n'arrive pas à mettre la main dessus et comme c'est pas quelque chose que je ne fais pas souvent, je suis dans la panade.
    A dire vrai je l'avais "pompé" quelque part d'où et sans chercher à vraiment comprendre.
    Ca doit se mettre automatiquement dans la barre à l'ouverture du fichier.

    Merci
    A+

  2. #2
    Membre Expert
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Par défaut
    Bonjour,

    A mettre dans un module, mais c'est pour Excel 2002.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
     
    Sub auto_open()
    ajouteMenu "Menu", _
                Array("Item..."), _
                Array("Macro1"), _
                Array(1753)
     
    End Sub
     
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
     
    ' arg   :   nom du menu à effacer (chaine)
     
    effaceMenu "Nom d&u menu"
     
    End Sub
    Sub ajouteMenu(ByVal MenuName As String, _
                ByVal tItems As Variant, _
                ByVal tLinks As Variant, _
                ByVal tTTText As Variant)
     
        Dim myMenu As CommandBar
        Dim newMenu As CommandBarControl
        Dim subMenu As CommandBarControl
        Dim ctl As CommandBarControl
        Dim Value As Variant
        Dim i As Long, j As Long
     
        Set myMenu = CommandBars.ActiveMenuBar
        Set newMenu = myMenu.Controls.Add(Type:=msoControlPopup, Before:=9, temporary:=True)
        newMenu.Caption = MenuName
        For Each Value In tItems
            If IsArray(Value) Then
                'cas d'un sous menu
                Set subMenu = newMenu.Controls.Add(Type:=msoControlPopup, temporary:=True)
                subMenu.Caption = Value(0)
                For j = 1 To UBound(Value)
                    Set ctl = subMenu.Controls.Add(Type:=msoControlButton)
                    ctl.Caption = Value(j)
                    ctl.Style = msoButtonIconAndCaption
                    ctl.OnAction = tLinks(i)(j)
                    ctl.FaceId = CLng(tTTText(i)(j))
                Next j
            Else
                'cas d'un menu
                Set ctl = newMenu.Controls.Add(Type:=msoControlButton)
                If Left(Value, 1) = "-" Then
                    ctl.BeginGroup = True
                    ctl.Caption = Mid(Value, 2)
                Else
                    ctl.Caption = Value
                End If
                ctl.Style = msoButtonIconAndCaption
                ctl.OnAction = tLinks(i)
                ctl.FaceId = CLng(tTTText(i))
            End If
            i = i + 1
        Next Value
     
     
    End Sub
     
    Sub effaceMenu(ByVal MenuName As String)
     
        Dim myMenu As CommandBar
     
        On Error Resume Next
     
        Set myMenu = CommandBars.ActiveMenuBar
        myMenu.Controls(MenuName).Delete
     
    End Sub

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 95
    Par défaut
    Salut PC75,
    Ça marche super mais, et il y a tjr un mais, je n'ai pas vraiment saisi à quoi correspond le chiffre "1753" dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub auto_open()
    ajouteMenu "Menu", _
                Array("Item..."), _
                Array("Macro1"), _
                Array(1753)
     
    End Sub
    J'ai un peu cherché (pas trop) mais rien de bien concluant dans l'aide.
    Explique si tu veux bien-entendu !

    Merci, c'est sympa

    A+

  4. #4
    Membre Expert
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Par défaut
    Re,

    Ca correspond au "FaceId", c'est à dire l'icone qui s'affiche à gauche de l'item du menu.

    ftp://ftp-developpez.com/fring/vba/e...eid/faceid.pdf

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 95
    Par défaut
    re,
    Voilà pourquoi je t'ai posé la question, il n'y a rien qui s'affiche chez moi, pb de version Excel PC MAc peut-être, enfin je note.
    Merci pour les conseils c'est déjà plus clair dans mon fichier.

    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ajouter Menu dans Excel
    Par ticroch dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/07/2011, 22h01
  2. [VB2005]Ajouter boutons dans barre d'outils par code
    Par cd090580 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 14/09/2007, 18h57
  3. Ajout menu dans Excel
    Par a.dequidt dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 11/09/2007, 14h20
  4. Affichage de menu dans barre d'outils
    Par Isa22 dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 01/03/2007, 14h41
  5. Ajout Menu dans un PopupMenu
    Par Larion dans le forum C++Builder
    Réponses: 6
    Dernier message: 15/08/2004, 12h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo