Bouton personnalisé dune macro C.

C

Chezmoi

Guest
Bonjour forum,

je suis en train de faire un macro complémentaire et j'aimerais que celle ci rajoute un bouton dans la barre des menus qui executera la macro.
J'ai donc été dans Affichage/barre d'outil/personnaliser/macro et ajouter un element personnaliser. Jaffecte ensuite la macro que je désir lancer mais quand j'enregistre cette macro complémentaire et que je lance excel (la macro comp. activé) ben le bouton a disparu.. ou du moins il na pas été enregistré..

Vous savez comment faire ?

merci davance !
 
E

Eric_C

Guest
Bonjour le forum
Bonjour Chezmoi (& bonjoir chez toi comme dirait José...arf...)

Une visite sur le site de Vériland & Ti (que je salue au passage) t'en apporteront plus <http://veriti.free.fr/progs/compte.php?extension=&id=2&fichier=http://vlohr.free.fr/telechargeTi.php3?soft=Mes Macros>

@ + Eric C
 
C

Chezmoi

Guest
Bonjour Eric,

Chezmoi (c'est) cédric ;)

Merci pour l'infos, j'ai toujours avec plaisir que j'etend un peu plus mais favoris donc merci beaucoup. Malheureusement la macro proposées n'est que la fenetre Affichage/barre d'outil/personnaliser/macro rendu plus accéssible.
Mais le problème reste le meme ! Je sais mettre une macro simple dans un menu mais pas une macro complémentaire car apparament c'est différent.
 
S

Sylvain

Guest
bonsoir,


quand on crée une macro complémentaire, c'est mieux si elle met elle même ses barres dans les menus :
Ici mettre un bouton dans le menu fenêtre et l'enlever, On action permet d'indiquer la macro à lancer. Pour le reste voir l'aide et le site de john walkenbash (sur ma page de liens <http://sn1.chez.tiscali.fr/presentation/liensexcel.html> pour télécharger une macro pour trouver les faceid.

Sub init_fenetre()
Set newItem = CommandBars("window").Controls.Add(Type:=msoControlButton)
With newItem
&nbsp; &nbsp; .BeginGroup = False
&nbsp; &nbsp; .Caption = "zone active"
&nbsp; &nbsp; .FaceId = 10
&nbsp; &nbsp; .OnAction = "restreint"
&nbsp; &nbsp; .Move Before:=7
End With
End Sub

Et ici pour enlever le menu à la fermeture du classeur.
Sub DelMenu_restreint()

On Error Resume Next
Application.CommandBars("window").Controls("zone active").Delete
End Sub

on rajoute ainsi ce code dans this workbook pour lancer les macros au bon moment (voir ce fil <http://www.excel-downloads.com/html/French/forum/read.php?f=1&i=144999&t=144984> pour voir à quel endroit installer les 2 macros suivantes :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call DelMenu_restreint
End Sub

Private Sub Workbook_Open()
Call init_fenetre
End Sub


un autre exemple où le bouton est placé dans une barre d'outils

Public Sub Creer_Bouton()
Dim CBb As CommandBarButton
&nbsp; &nbsp; On Error Resume Next
&nbsp; &nbsp; Set CBb = Application.CommandBars("Standard").Controls("vb_to_xld")
&nbsp; &nbsp; On Error GoTo 0
&nbsp; &nbsp; If Not CBb Is Nothing Then Exit Sub
&nbsp; &nbsp; With Application.CommandBars("Standard").Controls.Add(msoControlButton)
&nbsp; &nbsp; &nbsp; &nbsp; .Caption = "VBA->XLD"
&nbsp; &nbsp; &nbsp; &nbsp; .TooltipText = "Mise en forme de code pour le forum XLD"
&nbsp; &nbsp; &nbsp; &nbsp; .OnAction = "vb_to_xld"
&nbsp; &nbsp; &nbsp; &nbsp; .FaceId = 1352
&nbsp; &nbsp; &nbsp; &nbsp; .Style = msoButtonIconAndCaption
&nbsp; &nbsp; &nbsp; &nbsp; .BeginGroup = True
&nbsp; &nbsp; End With
End Sub


A+
 
C

Chezmoi

Guest
bonjour,


Merci beaucoup ! c'est exactement ce que je désirais et le résultat est parfait.

Merci également davoir bien mis le codage en entier car sinon je ne serais pas arrivé d'autant que jai du faire un mixe des 2. Et un site a encore été rajouté dans mes favoris ;)
 

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 400
Messages
2 088 086
Membres
103 711
dernier inscrit
mindo