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 :

[E-03] Ajouter CommandBar


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Par défaut [E-03] Ajouter CommandBar
    Bonjour,

    Je me suis fait une macro qui ajoute une barre de menu (avec deux boutons à l'intérieur). Tout me semble correct mais j'ai une erreur
    Argument ou appel de procédure incorrect
    sur cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set customBar = Application.CommandBars.Add("Rapports", msoBarPopup, , True)
    J'ai beau regardé dans l'aide mais tout me semble correct avec le .Add

    Voici mon code complet
    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
    Sub AjoutMenu()
        Dim customBar As CommandBar
        Dim newButton As CommandBarButton
        Set customBar = Application.CommandBars.Add("Rapports", msoBarPopup, , True)
        customBar.Visible = True
     
        Set newButton = customBar.Controls.Add(msoControlButton, , , , True)
        With newButton
        .Caption = "Menu des rapports"
        'Attribue une macro à la barre de menu.
        .OnAction = "OuvrirMenu"
        End With
     
        Set newButton = customBar.Controls.Add(msoControlButton, , , , True)
        With newButton
        .Caption = "Visualiser liste"
        'Attribue une macro à la barre de menu.
        .OnAction = "VisualiserListe"
        End With
     
    End Sub
    Et si je comprends bien, en donnant True au paramètre Temporary, je n'ai pas besoin de faire une macro qui supprime mes menus avec un beforeclose?

    Merci de votre précieuse aide!

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Remplace le premier paramètre par sa valeur et mets une valeur au second
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set customBar = Application.CommandBars.Add("Rapports", 1, 0, True)
    si je comprends bien, en donnant True au paramètre Temporary...
    Tu comprends bien
    Bonne journée

    PS - Une explication ? Selon les versions de VBA il est arrivé à certains paramètres de changer de pseudo mais pas de valeur

  3. #3
    Membre chevronné Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Par défaut
    Ok merci. Ça marche parfaitement!

    Bonne fin de journée!

  4. #4
    Membre chevronné Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Par défaut
    Rebonjour,

    C'est dommage de ressortir un vieux topic mais,
    j'ai testé la macro à la maison avec la ligne de ouskel'n'or et cela fonctionnait. Rendu ici, au bureau, j'ai toujours la même arreur même avec la ligne d'ouskel'n'or
    Argument ou appel de procédure incorrect
    J'ai bien la version 2003 au bureau.

    Auriez-vous une idée?

    Merci!

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    As-tu testé sur un classeur tout neuf ?
    As-tu déclaré customBar as commandbar ?

  6. #6
    Membre chevronné Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Par défaut
    J'ai testé cette macro dans le classeur en cours et je l'ai aussi testé dans un classeur neuf.
    Voici le code complet :
    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
    Sub AjoutMenu()
        Dim customBar As CommandBar
        Dim newButton As CommandBarButton
        Set customBar = Application.CommandBars.Add("Rapports", 1, 0, True)
        customBar.Visible = True
     
        Set newButton = customBar.Controls.Add(msoControlButton, , , , True)
        With newButton
        .Caption = "Menu des rapports"
        'Attribue une macro à la barre de menu.
        .OnAction = "OuvrirMenu"
        End With
     
        Set newButton = customBar.Controls.Add(msoControlButton, , , , True)
        With newButton
        .Caption = "Visualiser liste"
        'Attribue une macro à la barre de menu.
        .OnAction = "VisualiserListe"
        End With
     
    End Sub

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 19/03/2015, 18h31
  2. [système] Comment ajouter un item dans le context menu de Windows ?
    Par ddmicrolog dans le forum API, COM et SDKs
    Réponses: 8
    Dernier message: 29/06/2005, 17h03
  3. [VB6] [ADO] Pb ajout enregistrement table liée
    Par fikou dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 01/10/2002, 11h49
  4. Connaitre l'unitée à ajouter dans USES
    Par DelphiCool dans le forum Langage
    Réponses: 7
    Dernier message: 01/08/2002, 13h48
  5. Ajouter une aide
    Par Mailgifson dans le forum C++Builder
    Réponses: 5
    Dernier message: 12/06/2002, 13h32

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