combobox et couleur de remplissage

canard

XLDnaute Occasionnel
salut à tous,

J'ai un userform avec une combobox qui est dépendante de la plage de cellule Feuil1!a1:a20

Dans cette plage de cellule il y a des couleurs de remplissage et voulais savoir comment les mettre dans la combobox ?

Mon code de userform actuel est

With Sheets('Feuil2')
.range('a1') Value = combobox1.value

end with

Comment fait- on pour avoir aussi la couleur de remplissage ?

Merci
 

Hervé

XLDnaute Barbatruc
Bonsoir canard

Si ton objectif est de colorier chaque item de la combobox avec les couleurs de ta plage, j'ai le regret de t'annoncer que c'est : no possible.

désolé, va falloir attendre excel 2026.

par contre si tu veux renvoyer la couleur correspondant à l'item de la plage A1:A20 sur une autre cellule, tu peux peut etre stocker l'index du colorindex dans la combobox. suis-je clair ?

A toi de nous précisez ton souhait.

salut
 

canard

XLDnaute Occasionnel
Merci

ok apparement c'est pas possible, as tu une idée alors pour que si l'on écrit un mot bien spécifique genre 'gagné' la cellule se colorise avec une couleur prédéfini.

Car comme dans ma combobox ce sont toujours les meme mots, je pense que avec cette solution ça peut ressoudre mon probléme.
 

Hervé

XLDnaute Barbatruc
re canard, le forum

en pièce jointe, une petite démo pour colorier une cellule avec la meme couleur que la cellule d'origine via une combobox.

salut
[file name=Classeur1_20051001221204.zip size=10248]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Classeur1_20051001221204.zip[/file]

Message édité par: Hervé, à: 01/10/2005 22:13
 

Pièces jointes

  • Classeur1_20051001221204.zip
    10 KB · Affichages: 131

ChTi160

XLDnaute Barbatruc
Salut canard
Arfffff Salut Hervé pas vu Lol je regarde ce que tu as fais Merci
en pièce jointe un fichier de ce que j'ai cru comprendre
tu lances le Userform, tu choisis un chiffre dans le combobox et la cellule qui recoit l'élément sélectionné se colore en fonction du Choix

à Adapter sûrement si j'ai compris biensûr Lol

bonne fin de Soirée [file name=ColorCellule.zip size=7841]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/ColorCellule.zip[/file]

Message édité par: Chti160, à: 01/10/2005 22:20
 

Pièces jointes

  • ColorCellule.zip
    7.7 KB · Affichages: 104

ChTi160

XLDnaute Barbatruc
Re Salut Hervé je ne t'ai pas vu arriver

oui ta solution est mieux car tu récupères les Interior .colorIndex
qui exite moi je suis parti d'un array pour créer ces couleurs donc plus compliqué .
j'ai comme toi pensé mettre ces numeros de couleurs dans une colonne cachée Lol on est bon quand même bon tu me diras mon deuxième prénom c'est Modeste lol

bonne fin de Soirée

canard si tu mets un fichier joint avec ton code Hervé pourra peut être te l'adapter (Sûrement même)

Message édité par: Chti160, à: 01/10/2005 22:30
 

Hervé

XLDnaute Barbatruc
re canard, salut ami chti

:) :) :) je vois que l'on à trainé nos fonds de culottes sur le meme banc à l'ecole VBA, chti

canard, je sais pas à qui tu t'adresses, mais il faudrait nous faire parvenir un extrait de ton fichier, que l'on puisse voir ou ca coince.

salut
 

canard

XLDnaute Occasionnel
c'est a dire que quand j'ai fait mon userform, dans les propriété de ma combobox dans rowsource j'y est inscrit Feuil1!a1:a20.

Donc dans cette plage de cellule j'ai rempli les cellules de couleurs differentes.Ce sont ces couleurs que je veut renvoyer.

voici le code que j'utilise pour mon userform :


Private Sub CommandButton2_Click()
'on ferme l'userform
Unload UserForm1
End Sub

Private Sub CommandButton1_Click()
Dim i As Byte
Dim derniereligne As Integer


'on recherche la derniere ligne vide de la colonne A
derniereligne = Range('a65536').End(xlUp).Row + 1

'puis on remplis la ligne avec les infos du userform
With Sheets('Feuil2')
.Range('a' & derniereligne).Value = ComboBox1.Value
.Range('b' & derniereligne).Value = TextBox1.Value
.Range('c' & derniereligne).Value = TextBox2.Value
.Range('d' & derniereligne).Value = TextBox3.Value
.Range('e' & derniereligne).Value = TextBox4.Value
.Range('f' & derniereligne).Value = TextBox5.Value


End With
 

ChTi160

XLDnaute Barbatruc
re canard

je me suis permis de modifier le fichier d'Hervé, car il se couche tôt lol

tu lances le userform puis tu remplis les textBox et ensuite tu sélectionnes une donnée dans le combobox ,car l'action est lancée via la procèdure Combobox Change à adapter sûrement
et le résultat en feuil2
bonne fin de Nuit [file name=ColorIndex.zip size=10952]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/ColorIndex.zip[/file]

Message édité par: Chti160, à: 01/10/2005 23:04
 

Pièces jointes

  • ColorIndex.zip
    10.7 KB · Affichages: 64
  • ColorIndex.zip
    10.7 KB · Affichages: 42
  • ColorIndex.zip
    10.7 KB · Affichages: 66

canard

XLDnaute Occasionnel
j'avais trouvé comment faire a ma façon, par contre ce que je voudrais aussi a propos des couleurs c'est que grace a une macro je puisse changer la couleur des cellules vides de la colonne A avec le ColorIndex = 36

Sinon merci a vous deux.
 

Hervé

XLDnaute Barbatruc
re canard, chti

Chti, non non, je me couche pas si tôt que ca. :)

Canard, ce type de code colore les cellules vides de la colonne A :


Sub Bouton2_QuandClic()
Dim c As Range
For Each c In Range('a1:a' & Range('a65536').End(xlUp).Row)
       
If c = '' Then c.Interior.ColorIndex = 36
Next c
End Sub

salut
 

Discussions similaires

Statistiques des forums

Discussions
311 724
Messages
2 081 936
Membres
101 844
dernier inscrit
pktla