Bonjour
Est il possible de gérer une barre d'outils personnalisée, comme le font Access, Word,... en grisant certaines commandes.
Si oui comment
Merci de vos réponses
JC
Bonjour
Est il possible de gérer une barre d'outils personnalisée, comme le font Access, Word,... en grisant certaines commandes.
Si oui comment
Merci de vos réponses
JC
Les barres d'outils (tout comme les menus et les menus contextuels) sont des objets CommandBar qui appartiennent à la collection... CommandBars !
La collection CommandBars est une propriété de l'objet Application (ton instance d'access).
Chaque objet CommandBar (barre d'outils, etc) possède une collection CommandBarControls qui regroupe tous les contrôles (boutons, zone de liste, etc) de la barre d'outils en question (ou du menu s'il s'agit d'un menu...).
Ces contrôles apartiennent tous à une même catégorie : ce sont des objets CommandBarControl. Mais, à l'instar des contrôles de formulaires, chaque contrôle d'un objet CommandBar possède un type défini : par exemple pour un bouton : CommandBarButton, pour une zone de liste : CommandBarComboBox, etc.
Il y a donc 2 façons de pointer sur un contrôle d'une CommandBar à l'aide d'une variable.
1) en déclarant la variable précisément du même type. Par exemple pour un bouton :
2) En utilisant simplement la catégorie générique :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Dim c as CommandBarButton
La première solution est recommandée car plus précise.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Dim c as CommandBarControl
Tu peux ainsi pointer sur un bouton de barre d'outils à l'aide d'une variable objet de type CommandBarButton et jouer avec les propriétés et méthodes disponibles... (F1 et explorateur d'objet pour plus d'infos )
Exemple pour désactiver 2 boutons d'un barre d'outils :
Note : La collection CommandBars est fournie par la bibliothèque office.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Dim b As CommandBar Dim c As CommandBarButton Set b = Application.CommandBars("NomBarreOutilsOuMenu") Set c = b.Controls("NomBouton1") c.Enabled = False Set c = b.Controls("NomBouton2") c.Enabled = False Set c = Nothing Set b = Nothing
Vérifie donc tes références, tu dois avoir Microsoft Office x.x Object Library d'activée.
(\ _ /)
(='.'=)
(")-(")
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager