Monsieur Excel
Pour tout savoir faire sur Excel !

23 mars 2009

Bascule Premier plan / Arrière-plan

Nous avons vu il y a quatre jours comment afficher ou masquer un bouton par macro.

Pour rendre un bouton inactif, une seconde solution est possible : faire passer le bouton à « cacher » derrière une zone de texte dont on pourrait si nécessaire – pour la rendre invisible, ou simplement moins visible – masquer les bordures.

Ici, pour qu’elle soit plus visible, nous avons peint ici la zone de texte en jaune.

La macro passe la zone de texte en premier plan quand elle est à l’arrière-plan, et vice versa. Elle utilise une variable publique pour mémoriser si le bouton Jules se trouve au premier plan ou à l’arrière-plan.

Etrange coïncidence – Avec ces deux derniers articles, je vous ai montré comment masquer ou occulter un bouton alors même que nous apprenions il y a quelques jours que Monsieur Bouton et ses amis dirigeants de la société Générale avaient réussi – avec un cynisme cupide qui fait penser à Madoff – à se faire voter de majestueuses primes en récompense de leur performance notable : la baisse de plus de 50% en un an du cours de la Société Générale.

2 Commentaire(s):

  • En très court...
    Sub Bascule()
    With ActiveSheet.Shapes("Jules")
    .ZOrder 1 + (.ZOrderPosition = 1)
    End With
    End Sub

    Note : on tire parti du fait que :
    msoBringToFront est une constante =0
    msSendToBack est égale = 1
    False est égale à 0
    et True à -1 !

    By Anonymous cduigou, sur 8:33 PM  

  • Super !

    On peut encore raccourcir, en nombre d'instructions, sinon en taille, avec :

    Sub Bascule()
    ActiveSheet.Shapes("Jules").ZOrder 1 + (ActiveSheet.Shapes("Jules").ZOrderPosition = 1)
    End Sub

    By Blogger Hervé Thiriez, sur 5:32 PM  

Enregistrer un commentaire

<< Accueil