L'informatique à votre portée
L'informatique prêt-à-porter

Faites appel à moi

pour vos formations chez vous pour les dpts 59, 62, 80, 81, 31, 82 et 11 ou à distance

pour vos développements bureautiques (tout Office)

Communauté partenaire Microsoft

Couleurs dans une cellule

Lire la couleur d'une cellule

Haut

Lire l'index de la couleur

Sub LitIndexCouleurPlage()
    Dim rCel As Range
    
    For Each rCel In Selection 'pour chaque cellule de la sélection
        rCel = rCel.Interior.ColorIndex 'on lit l'index de la couleur et on la met dans la cellule
    Next
End Sub

Lire le code héxadécimal de la couleur

Sub LitCouleurHexPlage()
Dim rCel As Range

For Each rCel In Selection
'pour chaque cellule de la sélection
'on lit la couleur et on la convertit en valeur héxadécimale
rCel = "'" & Hex(rCel.Interior.Color)
Next
End Sub

Récupérer les valeurs RVB d'une couleur

Public Sub LitCouleurRVB(lColor As Long)
    Dim iRouge As Integer, iVert As Integer, iBleu As Integer

    iRouge = Int(Couleur Mod 256)
    iVert = Int((Couleur Mod 65536) / 256)
    iBleu = Int(Couleur / 65536)
    
    Debug.Print "Rouge=" & iRouge, "Vert=" & iVert, "Bleu=" & iBleu
End Sub
   Impression Impression

Un tableau de toutes les couleurs et leur index

Haut

Jusqu'à la version 2003, Excel est limité en couleurs. Vous pouvez lister les index de couleurs avec le code suivant.

Sub PlageIndexColor()
Dim byN As Byte

For byN = 1 To 56 'pour chaque index de la liste des couleurs
ActiveCell.Interior.ColorIndex = byN 'on met la couleur correspondante
ActiveCell.Offset(0, 1) = byN 'on indique à droite l'index correspondant
ActiveCell.Offset(1, 0).Select 'on sélectionne la cellule du dessous
Next
End Sub
   Impression Impression