Conversion de format de couleur

euronicolas Messages postés 3 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 8 décembre 2004 - 7 déc. 2004 à 18:32
euronicolas Messages postés 3 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 8 décembre 2004 - 8 déc. 2004 à 14:35
Euronicolas

Bonjour,
mon soucis:
convertir le format de la couleur de la propriété backcolor ou
forecolor au format de la couleur .font.colorindex
pour vba pour excel
Merci d'avance pour votre réponse sur la fonction à utiliser
:)

3 réponses

cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
7 déc. 2004 à 20:06
Salut, ce que tu peux faire c'est utiliser la fonction RGB

comme ceci :

.backcolor=rgb(0-255,0-255,0-255)

0 étant le plus sombre et 255 le plus clair, et donc en faisant varier ces 3 valeurs tu obtient les couleurs voulues :

Exemple :

.BackColor=RGB(255,0,0) donne du rouge pur

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
0
euronicolas Messages postés 3 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 8 décembre 2004
8 déc. 2004 à 09:15
Euronicolas

merci chris pour ta réponse et à l'attention que tu as accordée à mon message.
c'est Ok pour la conversion RGB backcolor mais mon problème est que excel attribue des couleur type entier du genre 12 ou bien 38 etc à ses polices de font.
Comment puis-je passer en cas pratique à une couleur hexa fourni par les propriétés des objets vb, en couleur type entier
demandé par excel.
Mon cas pratique:
J'ai une form avec un panel d'image dont les backcolor sont
choisies par mon programme.
j'exécute mon programme et en cliquant sur ces images,
je souhaite attribuer cette couleur à ma font sous excel ou à mon fond de ma cellule.

Merci encore pour vos réponses
: :question)
0
euronicolas Messages postés 3 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 8 décembre 2004
8 déc. 2004 à 14:35
Euronicolas

j'ai trouvé, je vous en fait profité:

Private Sub Image3_Click()
imageactive.BackColor = Image3.BackColor
ind = 13
ActiveWorkbook.Colors(13) = imageactive.BackColor
End Sub

ou image active représente la couleur choisie parmi
une liste d'image dont fait partie image3
(nota je n'est pasréussi à indexer ces image la propriété indes n'existe pas sur excel)
ActiveWorkbook.Colors(13)
j'affecte le fond de couleur de l'image à cette propriété
ind = 13
valeur de mon indice (ne pas oublier de dimensionner ind en variable integer globale)
je récupère cette valeur en l'affectant à ma font de la manière qui suit
Cells(1, 1).Select
With Selection.Font
.Name = "Arial"
.FontStyle = "Gras"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = ind
End With
je retrouve la variable ind global dans cette fonction
(si vous avez déjà sélectionné des couleurs utilisant ActiveWorkbook.Colors(13) par la barre d'outils couleur d'excel
elle seront elles aussi changée)

@+ :blush)
0
Rejoignez-nous