Cours VBA : les couleurs

Nous allons commencer par attribuer une couleur au texte en A1.

Après avoir ajouté Font., nous obtenons :

color couleurs

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 :

colorindex couleurs

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 :

test2 couleurs

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 :

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 :

test couleurs

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 :

bordure couleurs

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 :

fond couleurs

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 :

onglet couleurs