Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Ajouter flèches croissant ou décroissant sur un bouton

marcelio

XLDnaute Occasionnel
Bonjour le Forum,

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

Merci d'avance.
 

Paf

XLDnaute Barbatruc
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
bonne suite
 

marcelio

XLDnaute Occasionnel
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+
 

Paf

XLDnaute Barbatruc
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...
 

marcelio

XLDnaute Occasionnel
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
 

Paf

XLDnaute Barbatruc
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

j'essaie
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…