Private Sub Workbook_BeforeClose(Cancel As Boolean)
KillLaBarraBoubas
End Sub
Private Sub Workbook_Open()
CreeLaBarraBoubas
End Sub
Sub CreeLaBarraBoubas()
Dim cmdBar As CommandBar
Dim btnBar As CommandBarControl
On Error Resume Next
'ajoute une barre
Set cmdBar = CommandBars.Add(Name:="LaBarraBoubas1")
With cmdBar
.Visible = True
.Position = msoBarTop
'ajoute un bouton
Set btnBar = .Controls.Add(Type:=msoControlButton)
With btnBar
.Style = msoButtonCaption
.Caption = "ZeJoliBouton"
'la macro à activer
.OnAction = "ZeMacro"
End With
End With
End Sub
Sub KillLaBarraBoubas()
On Error Resume Next
CommandBars("LaBarraBoubas1").Delete
End Sub
Sub ZeMacro()
MsgBox "c'est le bouton de la LaBarraBoubas"
End Sub
Bonsoir,
Chez moi, on dit bonjour, sûrement....merci aussi !
Dans le module de ThisWorkBook...
...et dans un module standardCode:Private Sub Workbook_BeforeClose(Cancel As Boolean) KillLaBarraBoubas End Sub Private Sub Workbook_Open() CreeLaBarraBoubas End Sub
kjinCode:Sub CreeLaBarraBoubas() Dim cmdBar As CommandBar Dim btnBar As CommandBarControl On Error Resume Next 'ajoute une barre Set cmdBar = CommandBars.Add(Name:="LaBarraBoubas1") With cmdBar .Visible = True .Position = msoBarTop 'ajoute un bouton Set btnBar = .Controls.Add(Type:=msoControlButton) With btnBar .Style = msoButtonCaption .Caption = "ZeJoliBouton" 'la macro à activer .OnAction = "ZeMacro" End With End With End Sub Sub KillLaBarraBoubas() On Error Resume Next CommandBars("LaBarraBoubas1").Delete End Sub Sub ZeMacro() MsgBox "c'est le bouton de la LaBarraBoubas" End Sub
Est -ce possible que mon bouton apparaisse seulement que dans mon fichier excel concerné par ma macro ?
Dim WithEvents XL As Application
Private Sub XL_WorkbookActivate(ByVal Wb As Workbook)
Application.CommandBars("LaBarraBoubas1").Visible = (Wb.Name = ThisWorkbook.Name)
End Sub
Private Sub Workbook_Open()
Set XL = Excel.Application
CreeLaBarraBoubas
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
KillLaBarraBoubas
End Sub