barre d'outil et macros

Lauxile

XLDnaute Nouveau
Bonjour, j'ai un souci pour lier une barre d'outil a une macro, que je n'ai pas encore su resoudre malgre de nombreuses recherches.

Je dois creer un fichier excel qui servira de base a un rapport de comptabilite qui doit etre fait chaque jour. Il s'agit d'un fichier appelle modele.xls, qui est chaque jour duplique et modifie (en fonction des recettes de chaque journee dans l'entreprise ou je travaille).

Ce fichier contient des macros activees vie une barre d'outil personnalisee. Tout fonctionne parfaitement dans le fichier original, mais une fois que le fichier est duplique cela ne fonctionne plus dans le nouveau fichier: la barre d'outil appelle une macro dans un autre fichier (en se servant de l'adresse complete du fichier sur l'ordinateur, ce qui en plus empeche de le deplacer!) au lieu d'appeller la macro dupliquee avec le fichier.

Ma question est donc: comment puis-je parametrer la barre d'outils de maniere a ce que la macro appellee soit celle contenue dans le fichier actif, quel que soit son nom? J'utilise Excel 2003 et 2010. Desole pour l'absence d'accents dans mon message, mon entreprise est au Canada... J'espere que j'ai ete clair, merci d'avance!
 

Staple1600

XLDnaute Barbatruc
Re : barre d'outil et macros

Bonsoir Lauxile, le fil, le forum

Tu peux créer "à la volée" une barre d'outils par vba pour un classeur donnée

Voir l'exemple ci-dessous
VB:
'petit exemple de création d'une barre d'outils à l'ouverture
'd'un classeur et destruction à la fermeture
'Rob Bovey, mpep

''' Create a custom toolbar on open.
Sub Auto_Open()
    Dim cbr As CommandBar
    Dim ctl As CommandBarButton
    ''' Create a new toolbar.
    Set cbr = CommandBars.Add("Demo")
    cbr.Visible = True
    ''' Add a control to the toolbar.
    Set ctl = cbr.Controls.Add(msoControlButton)
    ctl.FaceId = 2520   ''' The New button icon
    ctl.OnAction = ThisWorkbook.Name & "!CallMe"
End Sub

''' Delete the toolbar on close
Sub Auto_Close()
    On Error Resume Next
    CommandBars("Demo").Delete
End Sub

''' This procedure is called by the toolbar button.
Sub CallMe()
    MsgBox "Called!"
End Sub'source: f.sigonneau
 

Lauxile

XLDnaute Nouveau
Re : barre d'outil et macros

Merci pour l'astuce!

Je pense etre sur la bonne voie, mais ca ne fonctionne pas. J'ai copie colle ce que tu m'as donne; la macro Callme fonctionne si je l'appelle, et mais la macro Auto_Open ne s'ouvre pas a l'ouverture de la page, et bugue si je l'appelle manuellement: elle indique "runtime error : 5; invalid procedure or argument". Peut-etre ai-je mal configure Excel?

Si quelqu'un a des eclaircissements a apporter...
 

Discussions similaires

Réponses
1
Affichages
349

Statistiques des forums

Discussions
312 516
Messages
2 089 240
Membres
104 075
dernier inscrit
christophe.lienard.974