Problème d'affectation d'une macro dans un menu excel

  • Initiateur de la discussion Djay
  • Date de début
D

Djay

Guest
Bonjour à tous!

Mon projet est fini mais un problème se pose.
J'ai ajouter un bouton (smiley) avec une macro affectée à celui-ci.
Ce bouton permet l'ouverture d'une userform qui permet de faire des recherches sur le classeur du fichier excel.
Le problème c'est que le bouton est bien présent, il apparait à l'ouverture du fichier et l'inverse quand il se ferme. D'ailleurs j'ai rajouté le code en dessous. Je clique sur mon bouton et me dit de lui affecter une macro pourtant je crois l'avoir fait. Bon je le fais quand même, la fenêtre d'application disparait et je suis obligé de recliquer sur mon bouton pour lancer la uszerform et c'est pénible. En attendant une réponse de votre part, je vous souhaite une bonne journée. Merci d'avance.

Djay

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.CommandBars("Worksheet Menu Bar").Controls(11).Delete
End Sub

Private Sub Workbook_Open()
Application.CommandBars("Worksheet Menu Bar").Controls.Add Type:= _
msoControlButton, ID:=2950, Before:=11
ListeAnnéeCrée = False
Année = Year(Date)
Année = Mid(Année, 3, 2)
Worksheets(Val(Année) - 3).Activate
End Sub
 
Y

Yeahou

Guest
Bonjour Djay, le Forum

Il te faut affecter, dans ta macro qui crée le bouton, la macro devant être appelée. Je te propose le code ci dessous. Un simple rappel être trés prudent avec les macros modifiant l'interface, voir ce fil.
http://www.excel-downloads.com/html/French/forum/read.php?f=1&i=93455&t=93353

Cordialement, A+

Public Bouton_Macro

Private Sub Workbook_Open()
Set Bouton_Macro = Application.CommandBars("Worksheet Menu Bar").Controls.Add(Type:= _
msoControlButton, ID:=2950, Before:=11)
Bouton_Macro_OnAction = "nommacro"
ListeAnnéeCrée = False
Année = Year(Date)
Année = Mid(Année, 3, 2)
Worksheets(Val(Année) - 3).Activate
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Bouton_Macro.Delete
End Sub
 
D

Djay

Guest
Bouton avc menu affecter à plusieurs macros

Je voulais savoir si il était possible de créer un bouton qui active un menu qui permettraient alors pour chaque menus d'affecter une macro différentes.
Merci d'avance.
Djay
 
Y

Yeahou

Guest
Re bonjour djay, le forum

bien sur
Dim Variable_en_Cours, Variable_en_Cours2
On error Resume Next
With Application.CommandBars("Worksheet Menu Bar")
If IsError(IsObject(.Controls("Menu"))) Then Set Variable_en_Cours = .Controls.Add(Type:=msoControlPopup, Before:=1): Variable_en_Cours.Caption = "Menu"
End With
With Application.CommandBars("Worksheet Menu Bar").Controls("Menu")
If IsError(IsObject(.Controls("Fonction"))) Then Set Variable_en_Cours2 = .Controls.Add(Type:=msoControlButton, Before:=1): Variable_en_Cours2.Caption = "Fonction": Variable_en_Cours2.OnAction = "NomMacro"
End With
On Error Goto 0

Cordialement, A+
 

Discussions similaires

Statistiques des forums

Discussions
312 393
Messages
2 087 968
Membres
103 688
dernier inscrit
Amadou