Contrôle de l’affichage des boutons de la barre d’outils (Microsoft Excel)
Jody est en train de développer des boutons de barre d’outils personnalisés et d’affecter des macros aux boutons. Elle souhaite que les boutons soient activés chaque fois qu’au moins une feuille de calcul est visible, mais cherche le code approprié pour gérer une telle situation.
Il existe de nombreuses façons d’aborder cela, comme on pourrait le supposer avec un environnement aussi diversifié qu’Excel. Une solution possible consiste à créer une routine qui vérifie simplement s’il y a des fenêtres visibles à l’écran. S’il y en a, les boutons de la barre d’outils peuvent être activés; s’il n’y en a pas, ils peuvent être désactivés. La macro suivante fera exactement cela:
Sub CheckButtons() Dim bOneOpen As Boolean Dim I As Integer Dim J As Integer bOneOpen = False For I = 1 To Workbooks.Count For J = 1 To Workbooks(I).Windows.Count If Workbooks(I).Windows(J).Visible Then bOneOpen = True Next J If bOneOpen Then Exit For Next I If bln Then 'enable buttons Else 'disable buttons End If End Sub
Remarquez les deux commentaires en bas de la macro. Tout ce que vous avez à faire est de remplacer ces commentaires par le code approprié pour activer ou désactiver les boutons de votre barre d’outils. (Le code varie en fonction du nombre et de la configuration de vos boutons.)
Cette macro peut être appelée manuellement ou à partir de l’un des événements déclenchés par des modifications de fenêtre, tels que ceux qui se déclenchent lorsque les fenêtres sont ouvertes, redimensionnées, réduites, agrandies ou restaurées.
_Note: _
Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.
lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur]
.
ExcelTips est votre source pour une formation Microsoft Excel rentable.
Cette astuce (2618) s’applique à Microsoft Excel 97, 2000, 2002 et 2003.