OVH Cloud OVH Cloud

Barre d'outils attachée à un fichier

3 réponses
Avatar
Patrick Fredin
Bonjour,

J'aimerais créer une barre d'outils personnalisée et l'attacher à un fichier
uniquement. Quand il s'ouvre la barre d'outils s'affiche et quand le fichier
se ferme, la barre disparaît et n'est plus disponible parmi les barres
d'outils.

Est-ce possible ?

Si besoin, un peu de code VBA ne me gênera pas.

Merci beaucoup pour votre aide.

--
Patrick

3 réponses

Avatar
poy-poy
Bonjour patrick,

voici une macro qui crée une barre de tache avec 5 boutons. Pour plus de
détail, je te conseil de rechercher sur le site excelabo, c'est de la que
j'ai adapté la macro.

Option Explicit

Sub CommandBarActions()

Dim cb As CommandBar

detruitCommandBarActions 'par précaution si elle existe déjà

'creation de la barre d'outils "actions"
Set cb = CommandBars.Add(Name:="actions", Position:=4)
cb.Visible = True

Call Createbutton("Ole", 247, "action1", cb)
Call Createbutton("Pouic", 610, "action2", cb)
Call Createbutton("Menfin", 300, "action3", cb)
Call Createbutton("Hehe", 29, "action4", cb)
Call Createbutton("tse-tse", 986, "action5", cb)


cb.Position = msoBarTop
cb.Protection = msoBarNoChangeVisible

End Sub
Sub detruitCommandBarActions()
On Error Resume Next
Application.CommandBars("actions").Delete
End Sub

Sub Createbutton(Str As String, Nbr As Integer, Strm As String, cb As
CommandBar)

Dim btnGraphText As CommandBarButton

Set btnGraphText = cb.Controls.Add(Type:=msoControlButton) ' ajout d'un bouton
btnGraphText.Style = msoButtonIconAndCaption
btnGraphText.Caption = Str
btnGraphText.FaceId = Nbr
btnGraphText.OnAction = Strm


End Sub

Public Sub action1()

Msgbox("action1")
End Sub

Public Sub action2()

Msgbox("action2")

End Sub
Public Sub action3()

Msgbox("action3")

End Sub
Public Sub action4()

Msgbox("action4")

End Sub
Public Sub action5()

Msgbox("action5")

End Sub


Cordialement
Benjamin




Bonjour,

J'aimerais créer une barre d'outils personnalisée et l'attacher à un fichier
uniquement. Quand il s'ouvre la barre d'outils s'affiche et quand le fichier
se ferme, la barre disparaît et n'est plus disponible parmi les barres
d'outils.

Est-ce possible ?

Si besoin, un peu de code VBA ne me gênera pas.

Merci beaucoup pour votre aide.

--
Patrick





Avatar
Pounet95
Bonsoir Patrick,
Cela ajoute un menu à la barre des menus, mais pour une BO ça doit être le
même principe


'Dans le ThisWorkbook
'---------------------------------
Private Sub Workbook_Open()
Créer_Menu_MaBO
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
DeleteMenu
End Sub

'Dans un Module Standard
'--------------------------------------
Function DeleteMenu()
On Error Resume Next
Application.CommandBars(1).Controls("&Mon Menu").Delete
End Function

Function Créer_Menu_MaBO()
'Ajouter le menu GMAO SC
DeleteMenu
'Localise le menu Help
Set HelpMenu = Application.CommandBars(1).FindControl(ID:0010)
'... et créé le nouveau menu juste avant s'il existe,sinon en dernier
If HelpMenu Is Nothing Then
Set NewMenu =
Application.CommandBars(1).Controls.Add(Type:=msoControlPopup,
temporary:=True)
Else
Set NewMenu =
Application.CommandBars(1).Controls.Add(Type:=msoControlPopup,
Before:=HelpMenu.Index, temporary:=True)
End If
NewMenu.Caption = "&Mon Menu"

'Menu INITIALISATION
Set SubMenuItem = NewMenu.Controls.Add(Type:=msoControlButton)
With SubMenuItem
.Caption = "&Initialisation"
.OnAction = "Initialiser"
End With
End Function

Si cela peut t'inspirer ?
--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/

"Patrick Fredin" a écrit dans le
message de news: OqxK5S$
Bonjour,

J'aimerais créer une barre d'outils personnalisée et l'attacher à un
fichier uniquement. Quand il s'ouvre la barre d'outils s'affiche et quand
le fichier se ferme, la barre disparaît et n'est plus disponible parmi les
barres d'outils.

Est-ce possible ?

Si besoin, un peu de code VBA ne me gênera pas.

Merci beaucoup pour votre aide.

--
Patrick



Avatar
papou
Bonjour
Sans VBA :
Outils, Personnaliser, onglet Barres d'outils, sélectionner la BO dans la
liste puis cliquer sur Attacher, dans la fenêtre suivante sélectionner la BO
dans la liste puis cliquer sur Copier. Valider.
Enregistrer le classeur, dès lors la BO sera attachée au classeur.
Avec VBA :
Utiliser par exemple l'évènement Workbook_Open pour afficher la BO :
Private Sub Workbook_Open()
Application.CommandBars("NomdelaBO").Visible = True
End Sub
puis par l'évènement Workbook_BeforeClose :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.CommandBars("NomdelaBO").Visible = False
End Sub

Cordialement
Pascal

"Patrick Fredin" a écrit dans le
message de news: OqxK5S$
Bonjour,

J'aimerais créer une barre d'outils personnalisée et l'attacher à un
fichier uniquement. Quand il s'ouvre la barre d'outils s'affiche et quand
le fichier se ferme, la barre disparaît et n'est plus disponible parmi les
barres d'outils.

Est-ce possible ?

Si besoin, un peu de code VBA ne me gênera pas.

Merci beaucoup pour votre aide.

--
Patrick