Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

barre personnalisée

joums

XLDnaute Occasionnel
Bonjour à tous,
je souhaite créer une barre personnalisée avec des boutons et images

Question 1:
Le code ci-dessous marche sous excel 2003 et + mais pas sous excel 2000 pourquoi ?

Code:
  Dim CmdBar As CommandBar
 
    Dim Bouton As CommandBarButton
     Dim picImage1 As IPictureDisp
 Set picImage1 = LoadPicture("F:\image1.gif")

 'Création de la barre d'outils nommée 'MaBarrePerso'
    Set CmdBar = Application.CommandBars _
        .Add(Name:="MaBarre", Position:=msoBarTop, Temporary:=True)
    
    'Ajout de X boutons dans la barre d'outils
    Set Bouton1 = CmdBar.Controls.Add(Type:=msoControlButton)
    With Bouton1
        'Définit "l'image" qui va s'afficher sur le bouton
            .Picture = picImage1 'c'est ici que ca bug
        

        'Définit quelle macro est associée au bouton.
        'Cette macro sera lancée à chaque fois que vous cliquez sur le bouton.
        .OnAction = "Macro1"
    End With
 CmdBar.Visible = True
End Sub
Question 2 :
Est-il possible d'agrandir l'image du bouton qui est par défaut 16 x 16

Merci de votre aide
 

kjin

XLDnaute Barbatruc
Re : barre personnalisée

Bonjour,
Essaies peut-être ceci
Code:
Sub Macro1()
Dim CmdBar As CommandBar
Dim Bouton As CommandBarButton
Dim Img As Object
'Création de la barre d'outils nommée 'MaBarrePerso'
Set CmdBar = Application.CommandBars _
.Add(Name:="MaBarre", Position:=msoBarTop, Temporary:=True)
'Ajout de X boutons dans la barre d'outils
Set bouton1 = CmdBar.Controls.Add(Type:=msoControlButton)
Set Img = ActiveSheet.Pictures.Insert("F:\image1.gif")
Img.Copy
With bouton1
    .PasteFace
    .OnAction = "Macro1"
End With
Img.Delete
CmdBar.Visible = True
End Sub
A+
kjin
 

joums

XLDnaute Occasionnel
Re : barre personnalisée

Merci pour ton aide,

effectivement cela marche, je connaissais cette méthode mais ce qui me soucis c'est que l'image est copiée dans un 1er temps dans la feuille, et on la voit apparaitre ce que je ne souhaite pas.

Le code pourtant marche sous excel 2003 ?
 

joums

XLDnaute Occasionnel
Re : barre personnalisée

Re,
Sauf que c'est la seule qui existe sous 2000 !
Maintenant, rien ne t'empêche de désactiver le rafraîchissement d'écran en début de procédure.
A+
kjin


Ok je m'en doutais, je vais désactiver le rafraîchissement comme tu me le conseilles.

Encore merci pour ces informations.

Saurais-tu s'il est possible d'agrandir les icônes ?
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…