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-02] Barre d'outils et boutons de commande


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 57
    Par défaut [E-02] Barre d'outils et boutons de commande
    Bonjour à tous!

    Lors de l'ouverture de mon fichier excel, je veux créer une barre d'outils avec des boutons pour déclencher mes macros ("AjoutActivité", "NoteGlobale" et "Paramétrage").

    J'ai 2 problèmes:
    1) Je n'arrive pas à affecter les macros aux boutons. J'ai déjà vu ce pb apparaitre sur ce forum, mais j'ai pas compris comment il avait été résolu.
    Avec mon code, je crée bien ma barre d'outil et les boutons au format désiré, mais quand je clique sur les boutons, j'ai un message m'indiquant "impossible de trouver la macro".
    Par ailleurs, lesdites macro fonctionnent, et quand je crée des bouton manuellement, je n'ai aucun pb de ce genre.
    Ca fait un moment que je tourne en rond, mais là, je vois vraiment pas ce qui peut coincer.

    Voici mon code (dans un module spécifique):

    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
    Sub AjoutBarreOutils()
     
    'Création barre d'outils et de boutons pour déclenchement de macros
    Dim Barre As CommandBar
    Dim BtnNvelleActivité As CommandBarButton
    Dim BtnAnalyseEnvtale As CommandBarButton
    Dim BtnParametrage As CommandBarButton
     
        'Création barre d'outils
        Set Barre = CommandBars.Add(Name:="Lancement des Programmes", Position:=msoBarTop, Temporary:=True)
        Barre.Visible = True
     
        'Création du bouton pour macro AjoutActivité
        Set BtnNvelleActivité = Barre.Controls.Add(msoControlButton)
            With BtnNvelleActivité
            .OnAction = "AjoutActivité"
            .Style = msoButtonIconAndCaptionBelow
            .FaceId = 1548
            .Caption = "Nouvelle activité"
            .BeginGroup = True
            End With
     
        'Création du bouton pour macro NoteGlobale
        Set BtnAnalyseEnvtale = Barre.Controls.Add(msoControlButton)
            With BtnAnalyseEnvtale
            .Style = msoButtonIconAndCaptionBelow
            .FaceId = 610
            .Caption = "Analyse Environnementale"
            .OnAction = "NoteGlobale"
            .BeginGroup = True
            End With
     
        'Création du bouton pour macro Paramétrage
        Set BtnParametrage = Barre.Controls.Add(msoControlButton)
            With BtnParametrage
            .Style = msoButtonIconAndCaptionBelow
            .FaceId = 222
            .Caption = "Paramétrage"
            .OnAction = "Paramétrage"
            .BeginGroup = True
            End With
     
    End Sub

    2) Pour le démarrage automatique de cette macro "AjoutBarreOutils" à l'ouverture du fichier, j'ai entré le code suivant dans "ThisWorkbook"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Workbook_Open()
     
        'Affichage Msgbox nom du programme
        MsgBox "Bienvenue dans le programme ''Analyse Environnementale''." vbOKOnly
     
        AjoutBarreOutils
     
    End Sub

    J'obtiens bien mon message de bienvenue, mais l'appel de la macro "AjoutBarreOutils" plante après la création du 1er bouton (auquel je n'ai toujours aucune macro affectée, au passage). Je ne comprend pas ce qui se passe, ni comment régler ce problème. Je ne sais même pas si ces deux problèmes sont liés ou pas.

    Heeeeeelp!

    Merci d'avance pour votre aide,

    Karategirl77

  2. #2
    Membre expérimenté
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2008
    Messages : 155
    Par défaut
    As-tu vérifier que tes macros sont bien publiques et non "private"?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 57
    Par défaut
    Oui, j'ai vérifié, pas de pb de ce côté là.

  4. #4
    Membre expérimenté
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2008
    Messages : 155
    Par défaut
    Sont-elles dans un module?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 57
    Par défaut
    Oui, chaque macro est dans un module qui lui est propre

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Bonjour

    Il n'est pas nécessaire de créer autant de modules que de procédures ou macros...

    Il faut bien vérifier que tu as placé les macros dans des modules STANDARD

    Pense également que les caractères accentués sont à éviter dans les noms de macros... En cas d'utilisation sur un Excel Anglais, tu t'exposes à des déconvenues...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

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

Discussions similaires

  1. [AC-2003] Barre d'outil avec bouton de commande
    Par facteur dans le forum IHM
    Réponses: 0
    Dernier message: 05/08/2013, 13h40
  2. Barre d'outil avec bouton d'extension
    Par tartour5 dans le forum Interfaces Graphiques en Java
    Réponses: 1
    Dernier message: 08/02/2007, 08h12
  3. Réponses: 2
    Dernier message: 20/05/2006, 13h39
  4. [] Raccourci clavier pour bouton d'une barre d'outil
    Par Sébastien dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 24/03/2003, 17h02
  5. [VB6] [Interface] Icones de boutons de barre d'outils
    Par elifqaoui dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 13/09/2002, 15h50

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