Création d'une barre d'outils: problème

rickgoz Messages postés 2 Date d'inscription mercredi 29 octobre 2008 Statut Membre Dernière intervention 29 octobre 2008 - 29 oct. 2008 à 13:29
DidierLoche Messages postés 33 Date d'inscription dimanche 26 octobre 2008 Statut Membre Dernière intervention 25 novembre 2008 - 29 oct. 2008 à 19:16
Bonjour à tous,

J'explique mon problème, j'ai voulu créer une barre d'outils à laquelle j'ai intégrer des boutons renvoyant des macros.
Seul petit problème, si j'envoie le fichier par mail, le destinataire ne pourra pas se servire de la barre à moin de la réexecuter ainsi que les boutons....
J'aurai voulu trouver une moyen pour que cette dernière n'exécute à chaque lancement du fichier pour que ce dernier puisse être utilisé par plusieurs personnes

Voici mon code
------------------------------------------------------------------------------------------------------------------
Sub Creation_Cbar() 'FONCTION CREATRICE DE LA BARRE

Dim Cbar As CommandBar
Set Cbar = CommandBars.Add(Name:="Barre", Position:=msoBarTop, Temporary:=False)
With Cbar
.Visible = True
.Protection = msoBarNoMove + msoBarNoCustomize

End With
End Sub

Sub affichePL() 'FONCTION AJOUTANT UN BOUTON A LA BARRE CREEE
Dim Ctrl1 As CommandBarButton '<-- déclaration de variable pour un contrôle de type bouton de commande

With CommandBars("Barre ").Controls.Add(msoControlButton) '<-- création du bouton
.Style = msoButtonIconAndCaption '<-- bouton avec icône + texte
.Caption = "Afficher Tout" '<-- texte du bouton
.OnAction = "Affich_tout"
End With

End Sub


Sub Fiche() 'FONCTION AJOUTANT UN BOUTON A LA BARRE CREEE
Dim Ctrl1 As CommandBarButton '<-- déclaration de variable pour un contrôle de type bouton de commande

With CommandBars("Barre ").Controls.Add(msoControlButton) '<-- création du bouton
.Style = msoButtonIconAndCaption '<-- bouton avec icône + texte
.Caption = "Fiche" '<-- texte du bouton
.OnAction = "Visual_clients"
End With

End Sub


Sub Action1() 'FONCTION AJOUTANT UN BOUTON A LA BARRE CREEE
Dim Ctrl1 As CommandBarButton '<-- déclaration de variable pour un contrôle de type bouton de commande

With CommandBars("Barre ").Controls.Add(msoControlButton) '<-- création du bouton
.Style = msoButtonIconAndCaption '<-- bouton avec icône + texte
.Caption = "1erAction planifiée à faire" '<-- texte du bouton
.OnAction = "PremAction"
End With

End Sub

Sub Action2() 'FONCTION AJOUTANT UN BOUTON A LA BARRE CREEE
Dim Ctrl1 As CommandBarButton '<-- déclaration de variable pour un contrôle de type bouton de commande

With CommandBars("Barre ").Controls.Add(msoControlButton) '<-- création du bouton
.Style = msoButtonIconAndCaption '<-- bouton avec icône + texte
.Caption = "2ème Action planifiée à faire" '<-- texte du bouton
.OnAction = "DeuAction"
End With

End Sub


------------------------------------------------------------------------------------------------------------------

J'espère avoir été claire, et que quelqu'un trouvera un moyen de m'aider...

En vous remerciant..

Richard,



PS: les macros des OnAction sont dans un autre modules mais dans le même fichiers xls..

2 réponses

lillith212 Messages postés 1229 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 16 juin 2009
29 oct. 2008 à 14:03
Bonjour,

La remarque que l'on t'a fait sur ton post précédent c'est simplement un remarque. Tu aurais pu simplement demander à un admin de bouger ton post dans la bonne rubrique!!! En repostant tu "pollue" le forum.
Attention ne prend pas mal cette remarque c'est juste pour t'aider. Dis toi qu'en général les membres actifs n'aime vraiment pas ce genre de chose et donc on tendance a zapper le post...
Si un admin passe peut il régulariser la situation Merci...
Perso je comprends pas ce que tu veux...
Désolée
Bon courage

S.L.B.
<hr />-- Le règlement tu liras -- Des recherches tu feras -- Le style SMS tu banniras --
-- De la validation pertinente tu feras -- Du respect tu auras -- <
0
DidierLoche Messages postés 33 Date d'inscription dimanche 26 octobre 2008 Statut Membre Dernière intervention 25 novembre 2008 1
29 oct. 2008 à 19:16
Bonsoir,

Il suffit de lancer les subs de création de ta barre d'outil dans Private Sub Workbook_Open(). Pour cela, tu cliques-droit sur "ThisWorkBook" dans l'exporateur de projets et tu cliques ensuite sur "Code". Après tu sélectionnes "Workbook" dans le menu déroulant de gauche.
Sub Private Sub Workbook_Open()
   Call Creation_Cbar
   Call affichePL
   Call Fiche
   Call Action1
   Call Action2
End sub

Tu aurais pû aussi créer les boutons dans la même procédure Creation_Cbar. D'ailleurs, il y a une erreur, dans Creation_Cbar, la barre d'outil s'appelle "Barre" alors qu'elle s'appelle "Barre " (avec un espace) dans les autres procédures.



Pour être propre, tu supprimes la barre d'outil créée quand tu fermes ton fichier Excel :




Private Sub Workbook_BeforeClose(Cancel As Boolean)
CommandBars("Barre").Delete
End Sub


Didier
0
Rejoignez-nous