Couleur Ligne Liste Déroulante VBA

Résolu
Bonjour,

J'ai crée une liste déroulante (ci-dessous le code VBA)et j'aimerais savoir comment attribuer une couleur différente à chaque valeur de la liste?
Par exemple "è" en noire
"ì" en bleu
ainsi de suite.

Merci

Code :
With ComboBox1
.AddItem "è"
.AddItem "ì"
.AddItem "î"
ComboBox1.BackColor = vbWhite

End With

2 réponses

  1. Contributeur
    Bonjour,
    Cette propriété n'existe pas.
    A+
    2
    1. Contributeur
      L'exemple sur lien que tu met n'a absolument rien à voir avec ce que tu veux.
      Je confirme... pas possible.
      Salut Michel.. Ta solution change la couleur de TOUT le Combo et la demande est...
      couleur différente à chaque valeur de la liste
      A+
      0
  2. Contributeur
    Bonjour

    Je ne vois pas l'intéret mais

    Option Explicit 
    
    Private Sub ComboBox1_Change() 
    Select Case ComboBox1.Value 
        Case "a" 
            ComboBox1.BackColor = &HC0FFFF 'vert pale 
        Case "z" 
            ComboBox1.BackColor = &HFFFFC0 ' bleu pale 
        Case "e" 
            ComboBox1.BackColor = &HFF80FF    'rose violet 
        End Select 
    End Sub 
    
    
    Private Sub UserForm_Initialize() 
    Dim cptr As Byte 
        ComboBox1.AddItem "a" 
        ComboBox1.AddItem "z" 
        ComboBox1.AddItem "e" 
    ComboBox1.BackColor = &HFFFFFF 'blanc 
    
    End Sub


    atention couleurs sous XL2007...

    edit: pour choisir tes couleurs
    https://www.cjoint.com/?3cppuIlcjq4
    auteur: JR Gauthier

    Michel
    0
    1. Salut michel_m,

      Pour info, ça marche aussi sous Excel 2003.
      Juste un petit correctif à ton code : bob83833 souhaite changer la couleur des caractères
      Il faut donc remplacer BackColor par ForeColor.

      En fait, il souhaitait avoir des couleurs préétablies pour chaque caractère, cad : qu'ils apparaissent dans la liste avec chacun sa couleur. Mais je crois que ce n'est pas possible et donc la modification s'impose sur l'ensemble de la liste. Est-ce que je me trompe ?

      edit : Autre chose : son combobox est intégré dans la feuille word et dans ce cas le private sub UserForm_Initialize() ne marche pas pour charger les valeurs dans la liste à l'ouverture du fichier. Il faut lui substituer Private Sub Document_Open() qui lui va initialiser les valeurs dans la combobox.

      Michel
      0
    2. Contributeur
      Bonjour

      en fait si on lit sa demande, il avait marqué backcolor mais bon!

      il souhaitait avoir des couleurs différentes pour chaque caractère...
      C'est possible à faire mais bonjour l'usine à gaz !!! Excel n'aime pas trop les "las vegas" ;-) et d'ailleurs je n'en vois encore moins l'utilité que de teinter chaque item...

      Attendons donc la réaction de bobxxx
      cordialement
      0
    3. Pour mieux comprendre de quoi il s'agit, ce fil de discussion est en fait la suite d'un fil sur lequel je viens d'intervenir, d'où mes commentaires.
      https://forums.commentcamarche.net/forum/affich-20856630-liste-de-formes-dans-word#p20867902
      Je n'avais pas donné suite pour la mise en couleur car ça me paraissait assez complexe et en tout cas hors de mes compétences. Vous confirmez ce que je pensais question usine à gaz !

      Michel
      0
    4. Merci pour vos réponses,

      Effectivement c'est bien une couleur pour chaque carractére que je souhaite obtenir, backcolor était simplement là car je souhaitais simplement pouvoir le modifier.

      Pour résumer, j'aurais besoin d'une liste déroulante avec 3 valeurs possibles :
      une fleche verte vers le haut
      une fleche Noire à l'horizontale
      une fleche Rouge vers le bas.

      Cette liste serait à inserer dans Word mais je pourrais si cela est vraiment necessaire le faire à partir d'excel.

      J'espére que cela est plus claire maintenant?

      Savez vous donc si cela est possible?

      Merci encore pour votre aide
      0
    5. Contributeur
      mais dans chaque item, tu n'as bien qu'un seul caractère ? soit flèche vers haut, flèche vers bas... ?
      0