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

 

 

Retour liens Excel