J'ai un bouton qui à 2 fonctions,
un 1er clic qui est croissant et un 2ème clic décroissant.
Est il possible d'ajouter sur le bouton à coté de mon texte pour chaque tri la flèche montante ou descendante.
Mon code :
Dim Sens As Integer
With Me.CommandButton4
If .Caption = "CROISSANT" Then
.Caption = "DECROISSANT"
Sens = xlDescending
Else
.Caption = "CROISSANT"
Sens = xlAscending
End If
End With
Re : Ajouter flèches croissant ou décroissant sur un bouton
bonjour,
en utilisant Chrw() avec le code d'un caractère unicode.
par exemple
Code:
With CommandButton4
If Left(.Caption, 1) = "C" Then
.Caption = "DECROISSANT " & ChrW(&H25BC) '*** ou &H2193
Sens = xlDescending
Else
.Caption = "CROISSANT " & ChrW(&H25B2) '*** ou &H2191
Sens = xlAscending
End If
End With
Re : Ajouter flèches croissant ou décroissant sur un bouton
Bonjour Paf,
Votre code fonctionne correctement,
mais j'ai un soucis car mes 2 noms sont les mêmes et le code ne fonctionne pas avec le même nom.
Exemple:
Janvier +
et Janvier -
J'espère que vous avez une solution à mon problème.
Et ou peut on trouver les codes d'un caractère unicode.
Merci de votre aide.
A+
Re : Ajouter flèches croissant ou décroissant sur un bouton
re
la solution est de tester le dernier caractère de Caption.
Code:
With CommandButton1
If Right(.Caption, 1) = ChrW(&H25B2) Then
.Caption = "Janvier " & ChrW(&H25BC)
Sens = xlDescending
Else
.Caption = "Janvier " & ChrW(&H25B2)
Sens = xlAscending
End If
End With
Quant aux codes des caractères Unicode, une recherche sur le Net...
Re : Ajouter flèches croissant ou décroissant sur un bouton
Re,
Merci pour ce nouveau code qui fonctionne correctement.
Mais j'aurais une petite question:
Quand je quitte la feuille et revient ensuite sur celle ci un point d'interrogation est à la place de la flèche mais qui disparais une fois qu'on clic sur le bouton.
Y à t'il une solution pour enlever ce point d’interrogation.
Merci
Re : Ajouter flèches croissant ou décroissant sur un bouton
Le code suivant CommandButton1.Caption = "Janvier " & ChrW(&H25BC)
est sensé modifier le Caption du bouton, mais quel que soit l'évènement (Sub Worksheet_Activate() ou Sub Workbook_Open() ou Sub Workbook_Activate()), le bouton affiche Janvier ?
je n'ai donc pas de solution pour ce type de bouton
la solution pourrait passer par l'utilisation d'un bouton "formulaire", puisqu'on peut utiliser les caractères spéciaux dans l'écriture de l'équivalent Caption; mais je ne maitrise pas l'utilisation de ce type de bouton en vba