rickgoz
Messages postés2Date d'inscriptionmercredi 29 octobre 2008StatutMembreDernière intervention29 octobre 2008
-
29 oct. 2008 à 11:54
cs_Orohena
Messages postés577Date d'inscriptionvendredi 26 septembre 2008StatutMembreDernière intervention20 novembre 2010
-
29 oct. 2008 à 20:41
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
cs_Orohena
Messages postés577Date d'inscriptionvendredi 26 septembre 2008StatutMembreDernière intervention20 novembre 20104 29 oct. 2008 à 20:31
Bonjour rickgoz
Il y a deux solutions :
- soit tu rends ta barre temporaire (temporary := true) et tu la crées systématiquement à chaque ouverture du classeur par macro auto_open
- soit (si tu tiens à garder ta barre permanente) tu testes son existence à l'ouverture du classeur, et tu la crées si nécessaire ; voici un exemple (non testé) :
sub auto_open
dim c as commandbar, barreExiste as boolean
for each c in application.commandbars if c.name "Barre" then barreExiste true
next
if barreExiste = false then
Creation_Cbar()
affiche_PL()
etc...
endif
end sub
cs_Orohena
Messages postés577Date d'inscriptionvendredi 26 septembre 2008StatutMembreDernière intervention20 novembre 20104 29 oct. 2008 à 20:41
Au fait, j'y pense : tu devrais mettre un nom tordu à ta barre d'outil, car tes destinataires ont peut-être déjà une barre d'outil qui s'appelle "Barre"...