OVH Cloud OVH Cloud

barre outils

1 réponse
Avatar
André
Bonjour,

J'ai créé des fichiers en vba 2000 et des barres outils personalisées,
comment sauvegarder les barres outils en même temps que le fichier.
Merci

1 réponse

Avatar
Hervé
Bonsoir André,
Pour simplifier, crée tes barres à l'ouverture du classeur et détruis les à
la fermeture, tu les caches sur désactivation du classeur et les affichent
sur activation.

A mettre dans un module standard :
'-------------------------------------
Sub CreerBarre()
Dim Barre As CommandBar
Dim Menu As CommandBarPopup
Dim Btn As CommandBarButton

SupprimerBarre

Set Barre = Application.CommandBars.Add("Perso", msoBarTop)
With Barre
Set Btn = .Controls.Add(msoControlButton)
With Btn
.Caption = "Bouton1"
.OnAction = "Macro1"
.FaceId = "13"
End With
Set Btn = .Controls.Add(msoControlButton)
With Btn
.BeginGroup = True
.Caption = "Bouton2"
.OnAction = "Macro2"
.FaceId = "14"
End With
Set Btn = .Controls.Add(msoControlButton)
With Btn
.BeginGroup = True
.Caption = "Bouton3"
.OnAction = "Macro3"
.FaceId = "15"
End With
.Visible = True
End With

Set Barre = Nothing
Set Btn = Nothing
End Sub

Sub SupprimerBarre()
On Error Resume Next
Application.CommandBars("Perso").Delete
End Sub

'--------------------------------------
'A mettre dans le module du classeur (ThisWorkbook) :
'--------------------------------------
Private Sub Workbook_BeforeClose(Cancel As Boolean)
SupprimerBarre
End Sub

Private Sub Workbook_Open()
CreerBarre
End Sub

Private Sub Workbook_WindowActivate(ByVal Wn As Window)
Application.CommandBars("Perso").Visible = True
End Sub

Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
Application.CommandBars("Perso").Visible = False
End Sub

Hervé.

"André" a écrit dans le message news:
d70vb3$m6h$
Bonjour,

J'ai créé des fichiers en vba 2000 et des barres outils personalisées,
comment sauvegarder les barres outils en même temps que le fichier.
Merci