CommandBar Privé ou Périmètre d'éxécution des macros limité

Maivas

XLDnaute Junior
Bonjour,

J'ai créé une barre d'outil personnalisée qui appelle différentes Macros mais je voudrais que le clique sur les boutons de cette barre d'outil se limite à un seul fichier (Celui qui contient le code pour la générée) donc deux questions:
- Peux t'on limiter les actions liées à une barre d'outil personnalisée à un seul classeur (Celui qui la créé)
- Peux t'on limiter le périmètre d'exécutions des Macros à un seul classeur (Celui qui les contiens)

Ex : Fichier Titi.xls à son ouverture créer une Barre d’Outil nommée « Perso » avec un bouton « Ajouter feuille », quand le classeur Titi.xls est actif le bouton « Ajouter feuille » lance la macro liée, par contre si nous ouvrons un 2ème fichier Bubu.xls nous ne voulons pas voir apparaître la barre d’outil « Perso » générée avec Titi (Je crois que ça c’est impossible) ou nous ne voulons pas que la macro « Ajouter feuille » se lance si on clique sur le bouton ad hoc

Merci encore et encore

Maivas [Newbee in VBA]
 

Maivas

XLDnaute Junior
Re : CommandBar Privé ou Périmètre d'éxécution des macros limité

???

Titi.xls contient toutes les macros (Barre d'outil et Ajouter feuille)
Bubu.xls ne contient aucune macro mais comme la barre d'outil à été crée avec Titi.xls, les macros de titi fonctionne sur Bubu <- Ce que je voudraus limité

Donc je pense que le classeur contenant les macros est le classeur actif ...
 

Maivas

XLDnaute Junior
Re : CommandBar Privé ou Périmètre d'éxécution des macros limité

Je pense avoir trouvé (A mettre dans This Workbook) pour cacher la barre d'outil

Code:
Private Sub Workbook_WindowActivate(ByVal Wn As Window)
On Error Resume Next
Application.CommandBars("Perso").Visible = True
End Sub

Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
On Error Resume Next
Application.CommandBars("Perso").Visible = False
End Sub

Par contre si qqun peut me dire comment limiter une macro au classeur où elle est écrite...
 

tototiti2008

XLDnaute Barbatruc
Re : CommandBar Privé ou Périmètre d'éxécution des macros limité

je ne connais pas d'instruction qui limite proprement une macro à un classeur, la seule chose que je peux te proposer c'est de faire un test :

If Activeworkbook.name = Thisworkbook.name then
'Je lance mon code
end if
 

Discussions similaires

P
Réponses
2
Affichages
1 K
Philippe
P

Statistiques des forums

Discussions
314 644
Messages
2 111 529
Membres
111 189
dernier inscrit
Laurent.