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 :

Création CommandBar en VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Octobre 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 7
    Par défaut Création CommandBar en VBA
    C'est encore et toujours moi.

    Grâce à ouskel'n'or j'ai progressé dans la création de ma barre de commande.

    Mais maintenant, j'aurais voulu savoir comment on peut ajouter un bouton style commandButton, et si il est possible d'inclure une image dans ce même bouton.

    Et enfin, où, puis -je trouver les initulés des différents objects de commandbar.

    Merci d'avance

    Pierrot

  2. #2
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132

  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
    Par défaut
    J'ai modifié mon code afin de montrer comment affecter une icône à un bouton
    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
    '******* A placer dans un module standard **********
    
    Sub CommandBarreCréerAvecBoutonEtMenu()
    Dim LaBarre As CommandBar
    Dim LeBouton
    Dim MonMenu
        'Valider la ligne suivante si la barre existe déjà
        'Application.CommandBars("Cémabarre").Delete
    
        'Pour créer une barre de commande
        '1 => affiche la barre en haut, true => barre provisoire
        Application.CommandBars.Add "Cémabarre", 1, 0, True
        
        'pour ajouter un bouton tout seul
        Set MonControl = CommandBars("Cémabarre").Controls _
            .Add(Type:=msoControlButton, ID:=280) 'Voir Remarque
            With MonControl
                .Style = msoButtonIcon
                .Caption = "Afficher ma photo"
                .OnAction = "ÇaCestMoi"
            End With
            
        'pour ajouter un menu
        Set LeBouton = CommandBars("Cémabarre").Controls _
            .Add(Type:=msoControlPopup)
            
            'Pour ajouter des commandes au menu
            With LeBouton
                
                .Caption = "Affiche un menu"
                Set MonMenu = LeBouton.Controls.Add(msoControlPopup)
                    With MonMenu
                        .Caption = "Barregraphe Dépenses"
                        .OnAction = "BarregrapheDépenses"
                    End With
                Set MonMenu = Nothing
                
                Set MonMenu = LeBouton.Controls.Add(msoControlButton)
                    With MonMenu
                        .Caption = "Camembert Dépenses"
                        .OnAction = "CamembertDépenses"
                    End With
                Set MonMenu = Nothing
                
            End With
        Set LeBouton = Nothing
        Set MonControl = Nothing
        
        'Pour afficher la barre de commande
        Application.CommandBars("Cémabarre").Visible = True
    
    End Sub
    
    '******* A placer dans ThisWorkbook **********
    
    Private Sub Workbook_Open()
        CommandBarreCréerAvecBoutonEtMenu
    End Sub
    
    
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
        'Pour la masquer
        Application.CommandBars("Cémabarre").Visible = False
        
        'Pour supprimer la barre
        Application.CommandBars("Cémabarre").Delete
    End Sub
    Remarque : Pour connaître le N° de l'icône, afficher la barre d'outils "Icônes" passer la souris sur l'icône désirée.
    Soit par code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Application.CommandBars("Icones").Visible = True
    A+

  4. #4
    Membre émérite
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Par défaut
    bonsoir,
    pour coller une image personnalisée sur un bouton, utilise la méthode PasteFace

    Salutations
    fred65200

Discussions similaires

  1. référence CommandBar dans vba ?
    Par alexkickstand dans le forum VBA Access
    Réponses: 5
    Dernier message: 04/12/2014, 12h01
  2. création graphique par VBA
    Par Toad08 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 13/02/2008, 13h02
  3. Réponses: 15
    Dernier message: 22/10/2007, 11h14
  4. Création échéancier en VBA (suite)
    Par landoltp dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/10/2007, 17h01
  5. Création échéancier en VBA
    Par landoltp dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 10/10/2007, 16h51

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