IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Voir le flux RSS

Philippe Tulliez

VBA Excel - Fonction générique pour modifier la couleur et le texte d'un ToggleButton

Noter ce billet
par , 12/03/2023 à 20h18 (2371 Affichages)
Préambule

Nom : ToggleButton.png
Affichages : 948
Taille : 2,5 Ko

On peut utiliser un ToggleButton (bouton bascule) pour
  • masquer/afficher une ou des feuilles, colonnes, lignes
  • appliquer ou pas une taxe, une tva, ...
  • activer/désactiver un filtre
  • faire un tri croissant/décroissant
  • etc.

On peut considérer qu'un ToggleButton est comme un interrupteur qui allume/éteint. Sa propriété Value renvoie une valeur booléenne TRUE/FALSE

Je vous propose une fonction générique qui modifie les propriétés BackColor (Vert/Rouge) et ForeColor (Blanc et Normal) ainsi que la propriété Caption (message) en fonction de la propriété Value du contrôle ToggleButton

Code de la procédure
Cette procédure nommée ToggleProperties peut être placée dans un module standard.
Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
Function ToggleProperties(oToggle As ToggleButton, _
                          Messages As Variant)
  ' Philippe Tulliez https://magicoffice.be
  ' Arguments
  '   oToggle    Objet ToggleButton
  '   Messages   Variable tableau à deux dimensions (0, 1) contenant les deux messages
  With oToggle
  .Caption = Messages(Abs(.Value))
  .BackColor = vbGreen / ((Abs(Not .Value) * 255) + 1)
  .ForeColor = vbWhite * (Abs(Not .Value))
  .Font.Bold = True
  End With
End Function

Exemple d'une procédure qui l'invoque
Procédure événementielle Click de la feuille où se trouve le bouton ActiveX nommé tgl_HideUnHide
Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
Private Sub tgl_HideUnHide_Click()
  ToggleProperties tgl_HideUnHide, Array("Masquer", "Afficher")
  Range("E:E,H:H,K:L").EntireColumn.Hidden = tgl_HideUnHide.Value
End Sub

Propriété LinkedCell
La propriété LinkedCell (cellule liée) peut s'avérer intéressante si l'on souhaite utiliser sa valeur dans des formules d'excel.

Petite astuce : Pour cacher la cellule liée, il suffit de placer le bouton au-dessus de celle-ci. Une autre option est d'utiliser le format personnalisé en y plaçant ;;;

Nom : ToggleButton - Properties.png
Affichages : 110
Taille : 27,0 Ko

Envoyer le billet « VBA Excel - Fonction générique pour modifier la couleur et le texte d'un ToggleButton » dans le blog Viadeo Envoyer le billet « VBA Excel - Fonction générique pour modifier la couleur et le texte d'un ToggleButton » dans le blog Twitter Envoyer le billet « VBA Excel - Fonction générique pour modifier la couleur et le texte d'un ToggleButton » dans le blog Google Envoyer le billet « VBA Excel - Fonction générique pour modifier la couleur et le texte d'un ToggleButton » dans le blog Facebook Envoyer le billet « VBA Excel - Fonction générique pour modifier la couleur et le texte d'un ToggleButton » dans le blog Digg Envoyer le billet « VBA Excel - Fonction générique pour modifier la couleur et le texte d'un ToggleButton » dans le blog Delicious Envoyer le billet « VBA Excel - Fonction générique pour modifier la couleur et le texte d'un ToggleButton » dans le blog MySpace Envoyer le billet « VBA Excel - Fonction générique pour modifier la couleur et le texte d'un ToggleButton » dans le blog Yahoo

Mis à jour 13/03/2023 à 10h19 par Philippe Tulliez

Catégories
VBA Excel

Commentaires