Shape et couleur

Résolu
Sinsitrus Messages postés 849 Date d'inscription samedi 11 juin 2005 Statut Membre Dernière intervention 21 août 2015 - 24 juil. 2010 à 14:02
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 - 24 juil. 2010 à 15:49
Salut !

Depuis un combo j'aimerais donner une couleur de bord à des shape indexés de 0 à 76
Les shapes s'appellent ainsi : ZoneCadr(0) à ZoneCadr(76)

Private Sub Combo2_Click()
If Combo2 "Noir" Then ZoneCadr.Item.BorderColor 0
If Combo2 "Rouge foncé" Then ZoneCadr.Item.BorderColor 128
End Sub


Pouvez vous m'aider svp ?

Merci

----------
OS : Windows XP SP3 et Vista 32
Platforme : VB 6.0 + SP6
Ok VB6.0 c'est pas net !

2 réponses

Sinsitrus Messages postés 849 Date d'inscription samedi 11 juin 2005 Statut Membre Dernière intervention 21 août 2015
24 juil. 2010 à 14:49
For N = 0 To 76
If Combo2 "Noir" Then ZoneCadr(N).BackColor 0
If Combo2 "Rouge foncé" Then ZoneCadr(N).BackColor 128
If Combo2 "Vert" Then ZoneCadr(N).BackColor 32768
If Combo2 "Marron clair" Then ZoneCadr(N).BackColor 32896
If Combo2 "Bleu foncé" Then ZoneCadr(N).BackColor 5242880
If Combo2 "Violet" Then ZoneCadr(N).BackColor 8388736
If Combo2 "Bleu-Vert" Then ZoneCadr(N).BackColor 5263360
If Combo2 "Gris" Then ZoneCadr(N).BackColor 5263440
If Combo2 "Argenté" Then ZoneCadr(N).BackColor 12632256
If Combo2 "Rouge" Then ZoneCadr(N).BackColor 255
If Combo2 "Vert clair" Then ZoneCadr(N).BackColor 65280
If Combo2 "Jaune" Then ZoneCadr(N).BackColor 65535
If Combo2 "Bleu" Then ZoneCadr(N).BackColor 16711680
If Combo2 "Fuchsia" Then ZoneCadr(N).BackColor 16711935
If Combo2 "Vert eau" Then ZoneCadr(N).BackColor 16776960
If Combo2 "Blanc" Then ZoneCadr(N).BackColor 16777215
Next N
3
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
24 juil. 2010 à 15:49
Bonjour,

Nettement optimisable, 2 versions :
Dim lColor As Long
Select Case Combo2 
Case "Noir" :lColor  = 0
Case "Rouge foncé" :lColor  = 128
Case "Vert" :lColor  = 32768
Case "Marron clair" :lColor  = 32896
Case "Bleu foncé" :lColor  = 5242880
Case "Violet" :lColor  = 8388736
Case "Bleu-Vert" :lColor  = 5263360
Case "Gris" :lColor  = 5263440
Case "Argenté" :lColor  = 12632256
Case "Rouge" :lColor  = 255
Case "Vert clair" :lColor  = 65280
Case "Jaune" :lColor  = 65535
Case "Bleu" :lColor  = 16711680
Case "Fuchsia" :lColor  = 16711935
Case "Vert eau" :lColor  = 16776960
Case "Blanc" :lColor  = 16777215
End Select
For N = 0 To 76
    ZoneCadr(N).BackColor=lColor
Next N


Dim lColor As Long
Dim lCol as new Collection 'Cette déclaration et son initialisation peuvent être faite en général dans le programme

lCol.Add 0,"Noir"
lCol.Add 128,"Rouge foncé"
lCol.Add 32768,"Vert"
...
lCol.Add 16711935, "Fuchsia"
lCol.Add 16776960, "Vert eau"
lCol.Add 16777215, "Blanc"


lColor=lCol(Combo2)
For N = 0 To 76
    ZoneCadr(N).BackColor=lColor
Next N




Mon site
0
Rejoignez-nous