Creer un menu

Résolu
nagattaque Messages postés 230 Date d'inscription jeudi 29 mai 2003 Statut Membre Dernière intervention 5 juin 2007 - 11 août 2005 à 10:33
nagattaque Messages postés 230 Date d'inscription jeudi 29 mai 2003 Statut Membre Dernière intervention 5 juin 2007 - 11 août 2005 à 16:54
Bonjour,

Je vous explique mon problème :
J'ai crée une macro que je voudrai déployer sur plusieurs postes. Pour cela, j'ai crée un .xla et je voudrai dans xla rajouter une procédure qui me fabrique un menu (a coté du menu "aide") et dans lequel je glisserai un bouton qui lancerai la macro.

La seule chose que j'arrive a faire est une barre d'outil flotante qui se trouve en plein milieu de la feuille de calcul. Quelqu'un peut il m'aider svp ??

Merci d'avance....

Ci dessous le code pour la barre d'outil que j'arrive à faire :
Sub CreeBO()


Dim MonMenu
Dim MonBouton


On Error Resume Next


Set MonMenu = Application.MenuBars.Add("Prelevement")


With MonMenu

Set MonBouton = .Controls.Add(msoControlButton)

With MonBouton
.FaceId = 29
.OnAction = "Macro1"
End With

.Visible = True
End With
End Sub

Nag

4 réponses

Utilisateur anonyme
11 août 2005 à 11:14
Bonjour,



Voilà, un code pour crée un menu avec un bouton dans ce menu



Sub CreeBO()



Dim MonMenu As CommandBarPopup

Dim MonBouton As CommandBarButton



Set MonMenu = Application.CommandBars("Worksheet Menu Bar").Controls.Add(msoControlPopup)

MonMenu.Caption = "Prelevement"



Set MonBouton = MonMenu.Controls.Add(msoControlButton)

MonBouton.Caption = "MyBtn"

MonBouton.FaceId = 29

MonBouton.OnAction = "Macro1"



End Sub



ChRB



<hr size="2" width="100%">
Merci de cliquer sur "Réponse acceptée" si une réponse vous convient.
3
Utilisateur anonyme
11 août 2005 à 16:35
Bonjour,



Au contraire, tu ne m’embêtes pas du tout.

Voilà, la fonction MenuExist renvoie si le menu spécifié existe, la DeleteMenu le supprime





Option Explicit



Private Const MnuCaption As String = "Prelevement"



Sub CreeBO()



If MenuExist(MnuCaption) = False Then



Dim MonMenu As CommandBarPopup

Dim MonBouton As CommandBarButton



Set MonMenu = Application.CommandBars("Worksheet Menu Bar").Controls.Add(msoControlPopup)

MonMenu.Caption = MnuCaption



Set MonBouton = MonMenu.Controls.Add(msoControlButton)

MonBouton.Caption = "MyBtn"

MonBouton.FaceId = 29

MonBouton.OnAction = "Macro1"



End If



Call DeleteMenu(MnuCaption)

End Sub



Private Function MenuExist(ByVal Caption As String) As Boolean

Dim iControl As Integer

For iControl = 1 To Application.CommandBars("Worksheet Menu Bar").Controls.Count

If Application.CommandBars("Worksheet Menu Bar").Controls(iControl).Caption = Caption Then

MenuExist = True

Exit Function

End If

Next iControl

End Function



Private Function DeleteMenu(ByVal Caption As String)

If MenuExist(Caption) = True Then

Application.CommandBars("Worksheet Menu Bar").Controls(Caption).Delete

End If

End Function







ChRB



<hr size="2" width="100%">
Merci de cliquer sur "Réponse acceptée" si une réponse vous convient.
3
nagattaque Messages postés 230 Date d'inscription jeudi 29 mai 2003 Statut Membre Dernière intervention 5 juin 2007
11 août 2005 à 16:09
Niquel tout ca.... Ca marche très très bien....

Bon je vais pousser le visse un peu plus loin maintenant :
- Comment tester si la barre est présente ?
- Comment la supprimer ?

Merci encore (apres promis j'embette plus !)

Nag
0
nagattaque Messages postés 230 Date d'inscription jeudi 29 mai 2003 Statut Membre Dernière intervention 5 juin 2007
11 août 2005 à 16:54
Mervellous.....Faboulous.... Genious.... Congratulationous !!!!

Bon ba je crois que c'est tip top et que c'est exactement ce que je voulais.....

Merci BCP !!

Nag
0
Rejoignez-nous