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

  • Initiateur de la discussion Initiateur de la discussion Maivas
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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]
 
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 ...
 
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...
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour