Création d'un bouton dans la barre d'outils standard.
Voilà un petit exemple de création d'un bouton
dans la barre d'outils standard et un aperçu des manipulations qui sont possibles.
Recopie le code dans un module standard puis lance les
procédures CreeMonBouton (pour créer un bouton) puis
ManipMonBouton, qui montre plusieurs possibilités de
faire référence au bouton créé.
Pour détruire le bouton, enfonce la touche Alt et tire le bouton à la souris
en dehors des barres d'outils.
Sub CreeMonBouton()
Set bar = Application.CommandBars("Standard")
With bar.Controls.Add(msoControlButton, before:=5) 'emplacement
par rapport à la droite
.Caption = "Essai bouton"
.FaceId = 39 'une flèche bleue vers
la droite
.Tag = "Btn1"
.OnAction = "ClicBouton"
End With
End Sub
Sub ClicBouton()
MsgBox "C'est mon bouton"
End Sub
Sub ManipMonBouton()
'à partir du nom que tu as donné tu peux obtenir des
'informations sur ton bouton :
Set btn = Application.CommandBars("Standard").Controls("Essai bouton")
msg = "Accès par le nom : " & vbLf & vbLf
msg = msg & "Nom de mon bouton : " & btn.Caption & vbLf
msg = msg & "Mon bouton est le " & btn.Index & " ème"
msg = msg & " sur la barre '" & btn.Parent.Name & "' d'Excel" & vbLf
msg = msg & "MonBouton déclenche la macro '" & btn.OnAction & "'"
MsgBox msg
btn.Execute
'à partir du Tag tu peux retrouver ton bouton sans avoir
'besoin de préciser sur quelle barre d'outils il est
Set bouton = Application.CommandBars.FindControl(Tag:="Btn1")
msg = "Accès par le marqueur (tag) : " & vbLf & vbLf
msg = msg & "Nom de mon bouton : " & bouton.Caption & vbLf
msg = msg & "Mon bouton est le " & bouton.Index & " ème"
msg = msg & " sur la barre '" & bouton.Parent.Name & "' d'Excel" & vbLf
msg = msg & "MonBouton déclenche la macro '" & bouton.OnAction & "'"
MsgBox msg
bouton.Execute
End Sub