Robin a posé une question concernant une bizarrerie dans Excel. Elle crée une feuille de calcul qui contient un bouton dessiné à l’aide de la barre d’outils Formulaires et attribue une macro au bouton. Le bouton fonctionne correctement jusqu’à ce que la feuille de calcul soit protégée, puis toute la section supérieure de la feuille de calcul agit comme un bouton. (L’icône de la main apparaît peu importe où vous déplacez la souris, et lorsque vous cliquez sur la macro s’exécute – vous n’avez pas à cliquer sur le bouton lui-même.)

Le problème ne se produit pas avec tous les éléments de la barre d’outils Formulaires, mais se produit uniquement dans certaines circonstances. Cela se produit principalement parce qu’un bouton macro est associé à une cellule (telle que la cellule B2), puis la cellule est supprimée. Cela signifie que le bouton est essentiellement «non attaché», de sorte qu’Excel ne sait pas où appartient le bouton. Lorsque la feuille de calcul est protégée, Excel agit bizarrement car il pense que le bouton est «partout» car il ne sait pas vraiment où le bouton appartient.

La solution évidente est de s’assurer que le bouton macro est toujours attaché à une cellule qui n’est pas supprimée. Déprotégez le classeur, sélectionnez le ruban du bouton près des en-têtes de colonne et déplacez-le vers une cellule à laquelle vous souhaitez l’associer. Reprotégez la feuille de calcul et le comportement étrange devrait disparaître.

Si vous ne voyez pas le bouton à l’origine du problème, c’est peut-être parce qu’il est trop petit. La solution à cette situation consiste à exécuter une macro qui recherche tous les boutons de la feuille de calcul et les rend visibles. Sur la feuille de calcul non protégée, exécutez ce qui suit:

Sub CheckShapes()

Dim myShape As Shape     For Each myShape In ActiveSheet.Shapes         With myShape             If .Height < 2 Then .Height = 20             If .Width < 2 Then .Width = 20         End With     Next myShape End Sub

La macro parcourt toutes les formes de la feuille de calcul et, si elles ont une hauteur ou une largeur inférieure à 2 pixels, augmente leur hauteur et leur largeur afin qu’elles soient visibles. Vous devriez maintenant pouvoir voir le bouton de macro et le faire glisser vers un emplacement de la feuille de calcul ou le supprimer.

_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 (2830) s’applique à Microsoft Excel 97, 2000, 2002 et 2003.