Création d'une barre d'outil en vba

bs51 Messages postés 18 Date d'inscription mercredi 3 mars 2004 Statut Membre Dernière intervention 2 avril 2004 - 4 mars 2004 à 14:17
rvw68 Messages postés 29 Date d'inscription jeudi 5 février 2004 Statut Membre Dernière intervention 24 janvier 2006 - 4 mars 2004 à 15:47
Je cherche un moyen de créé une barre d'outils à l'ouverture d'un classeur excel et par la meme occasion la supprimer à la fermeture de celui-ci.
(une barre avec des icones et non un menu déroulent)
Merci :question)

2 réponses

rvw68 Messages postés 29 Date d'inscription jeudi 5 février 2004 Statut Membre Dernière intervention 24 janvier 2006 1
4 mars 2004 à 15:46
Bonjour,

essaye ça :

creation
Sub Creation_Barres()

On Error GoTo Err:
'    Création d'une Barre d'outils appelée "formu"
'    dans la partie gauche de la fenêtre Excel
Set Barre1 = CommandBars.Add(Name:="formu", _
    Position:=msoBarTop)

Exit Sub

Err:

Resume Next
End Sub


Supression

Sub Suppression_Barres()
'   Suppression des barres de commandes personnalisées
On Error GoTo Err:

Application.CommandBars("formu").Delete
Exit Sub

Err:
MsgBox "Suppression impossible, la barre de commande ne doit pas exister"
Resume Next

End Sub


et pour les boutons quelque chose dans ce genre


Sub Ajout_Controle1()
Dim m_Button As CommandBarControl
    
    
   
    
    '  Ajout d'un bouton de commande à la barre formu
     Set m_Button = Application.CommandBars("formu").Controls.Add _
           (Type:=msoControlButton)
    '  Icône Enregistrer
     m_Button.FaceId = 351
    '  Action "lance formulaire"
     m_Button.OnAction = "form1"
End Sub


C'est à personaliser à ta sauce. il faut aussi penser à lui dire d'afficher ta bare


Sub Creation_Affichage()

'   Appel des différentes procédures pour mise en place de la bare

Creation_Barres
If Application.CommandBars("formu").Visible = True Then
GoTo fin:
End If
Affichage_Barres
Ajout_Controle1
Exit Sub
fin:

End Sub


Bonne chance
0
rvw68 Messages postés 29 Date d'inscription jeudi 5 février 2004 Statut Membre Dernière intervention 24 janvier 2006 1
4 mars 2004 à 15:47
Bonjour,

essaye ça :

creation
Sub Creation_Barres()

On Error GoTo Err:
'    Création d'une Barre d'outils appelée "formu"
'    dans la partie gauche de la fenêtre Excel
Set Barre1 = CommandBars.Add(Name:="formu", _
    Position:=msoBarTop)

Exit Sub

Err:

Resume Next
End Sub


Supression

Sub Suppression_Barres()
'   Suppression des barres de commandes personnalisées
On Error GoTo Err:

Application.CommandBars("formu").Delete
Exit Sub

Err:
MsgBox "Suppression impossible, la barre de commande ne doit pas exister"
Resume Next

End Sub


et pour les boutons quelque chose dans ce genre


Sub Ajout_Controle1()
Dim m_Button As CommandBarControl
    
    
   
    
    '  Ajout d'un bouton de commande à la barre formu
     Set m_Button = Application.CommandBars("formu").Controls.Add _
           (Type:=msoControlButton)
    '  Icône Enregistrer
     m_Button.FaceId = 351
    '  Action "lance formulaire"
     m_Button.OnAction = "form1"
End Sub


C'est à personaliser à ta sauce. il faut aussi penser à lui dire d'afficher ta bare


Sub Creation_Affichage()

'   Appel des différentes procédures pour mise en place de la bare

Creation_Barres
If Application.CommandBars("formu").Visible = True Then
GoTo fin:
End If
Affichage_Barres
Ajout_Controle1
Exit Sub
fin:

End Sub


Bonne chance
0
Rejoignez-nous