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

Faites appel à moi pour vos formations
sur les dpts 81, 31, 82, 11 et 67 (Strasbourg)
Confiez moi vos développements Office

FacebookTwitterGoogle BookmarksLinkedin

Un tableau de toutes les couleurs et leur index

Imprimer E-mail
5 mars 2014

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

 

Lire la couleur d'une cellule

Imprimer E-mail
5 mars 2014

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

Sub CouleurCellule()    

        'Lit la couleur de fond de la cellule active
       
LitCouleurRVB ActiveCell.Interior.Color

End Sub

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