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

Contribuez Discussion :

[Sources]Créer un bouton dans une barre d'outils [Fait]


Sujet :

Contribuez

  1. #1
    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
    Points : 15 546
    Points
    15 546
    Par défaut [Sources]Créer un bouton dans une barre d'outils
    Place un bouton après le dernier bouton de la barre "Standard" et lui affecte la macro "NomMacroAssociée" à l'ouverture du classeur et le supprime à la fermeture.
    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
    Sub Auto_open()
        Application.EnableEvents = True
        Call CréerBouton
    End Sub
     
    Sub CréerBouton()
    Dim nbboutons As Byte
        Set MonControl = Application.CommandBars("Standard")
        With MonControl
            nbboutons = .Controls.Count
            Set MonBouton = .Controls.Add(msoControlButton, 2950, nbboutons)
                With MonBouton
                    .Caption = "Recettes"
                    .OnAction = "NomMacroAssociée"
                End With
            Set MonBouton = Nothing
        End With
        Set MonControl = Nothing
    End Sub
     
    Sub Auto_Close()
        Call SupprimerBouton
    End Sub
     
    Sub SupprimerBouton()
        Application.CommandBars("Standard").Controls(Application.CommandBars("Standard").Controls.Count).Delete
    End Sub
    Edit
    Une question sur le forum me fait préciser que ce code est à placer dans un module standard -> Editeur VB -> Insertion -> Module

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    bonsoir ouskel'n'or... .

    Juste une question, peu-tu m'expliquer l'utilité du "Application.EnableEvents".. en tête de ton code .. ? sa présence est-elle volontaire..?

  3. #3
    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
    Points : 15 546
    Points
    15 546
    Par défaut
    Hello bbil,
    Oui, ça dépend où tu places la macro auto_open
    Si tu mets Workbook_Open dans un module au lieu de le placer dans ThisWorkbook, cette ligne est nécessaire pour que la macro s'exécute. J'ignore (encore) si celà provient d'un niveau de sécurité mais j'ai remarqué ça. On a déjà eu une discussion sur le fonctionnement de Workbook_Open sur le forum et j'avais proposé la solution. L'intéressé affirmait que Workbook_Open (placé dans un module standard) ne fonctionnait pas dans 2003.
    Je n'ai pas de meilleurs explications
    A+

Discussions similaires

  1. Créer un bouton dans une barre d'outils
    Par ouskel'n'or dans le forum Contribuez
    Réponses: 0
    Dernier message: 28/12/2011, 15h33
  2. [XL-2007] Créer un bouton dans la barre d'accès rapide via VBA
    Par Danieldu54 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 22/03/2011, 00h05
  3. Réponses: 5
    Dernier message: 15/01/2010, 19h32
  4. création d'un bouton dans une barre d'outils
    Par kawther dans le forum Interfaces Graphiques
    Réponses: 18
    Dernier message: 20/11/2008, 23h28
  5. Réponses: 0
    Dernier message: 31/10/2008, 10h53

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