Cours VBA : les couleurs
Nous allons commencer par attribuer une couleur au texte en A1.
Après avoir ajouté Font., nous obtenons :

Nous avons 2 possibilités pour définir la couleur : ColorIndex et ses 56 couleurs ou Color qui nous permettra d'utiliser n'importe quelle couleur.
ColorIndex
Voici les 56 couleurs disponibles avec ColorIndex :

Pour appliquer à notre texte l'une de ces 56 couleurs, nous écrirons :
Sub couleurs()
'Couleur du texte en A1 : vert (couleur 10)
Range("A1").Font.ColorIndex = 10
End Sub
Ce qui nous donne :

Pour les versions d'Excel inférieures à 2007 : l'utilisation de ColorIndex est préférable à Color.
Color
Voici un exemple similaire avec Color :
Sub couleurs()
'Couleur du texte en A1 : RGB(50, 200, 100)
Range("A1").Font.Color = RGB(50, 200, 100)
End Sub
La couleur ici est RGB(50, 200, 100).
RGB en français signifie RVB (Rouge Vert Bleu), les valeurs vont de 0 à 255 pour chaque couleur.
Quelques exemples de couleurs pour mieux comprendre :
- RGB(0, 0, 0) : noir
- RGB(255, 255, 255) : blanc
- RGB(255, 0, 0) : rouge
- RGB(0, 255, 0) : vert
- RGB(0, 0, 255) : bleu
Heureusement pour nous, il existe différentes solutions qui nous permettent de trouver facilement les valeurs RGB de la couleur qui nous intéresse.
Vous trouverez par exemple une liste de valeurs RGB sur la page suivante : liste de valeurs RGB.
Pour donner une couleur violette à notre texte, nous pouvons donc rechercher les valeurs RGB de cette couleur sur la liste de couleurs et entrer :
Sub couleurs()
'Couleur du texte en A1 : RGB(192, 32, 255)
Range("A1").Font.Color = RGB(192, 32, 255)
End Sub
Ce qui nous donne :

Pour les versions d'Excel inférieures à 2007 : le nombre de couleurs est limité (la couleur disponible la plus proche de la valeur RGB sera utilisée).
Créer une bordure colorée
Nous allons créer une macro qui va ajouter une bordure à la cellule active avec ActiveCell.
La bordure sera rouge et épaisse :
Sub couleurs()
'Epaisseur de la bordure
ActiveCell.Borders.Weight = 4
'Couleur de la bordure : rouge
ActiveCell.Borders.Color = RGB(255, 0, 0)
End Sub
Aperçu :

Colorer le fond des cellules sélectionnées
Sub couleurs()
'Colorer le fond des cellules sélectionnées
Selection.Interior.Color = RGB(174, 240, 194)
End Sub
Aperçu :

Colorer l'onglet d'une feuille
Sub couleurs()
'Colorer l'onglet de la feuille "Feuil1"
Sheets("Feuil1").Tab.Color = RGB(255, 0, 0)
End Sub
Aperçu :
