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 donner à notre texte l'une des 56 couleurs, nous écrirons :
Sub couleurs()
'Couleur du texte en A1 : vert (Couleur n°10)
Range("A1").Font.ColorIndex = 10
End SubCe 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 SubLa couleur ici est : RGB(50, 200, 100).
RGB en français signifie Rouge-Vert-Bleu (RVB), 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 les valeurs RGB de la couleur qui nous intéresse en toute simplicité, en voici une (cliquez sur l'image) :
Choisissez le couleur qui vous intéresse grâce à cet utilitaire et copiez simplement les 3 valeurs dans RGB(valeur_rouge, valeur_vert, valeur_bleu).
Pour donner à notre texte la couleur violette ci-dessus, nous écrirons donc :
Sub couleurs()
'Couleur du texte en A1 : RGB(192, 24, 255)
Range("A1").Font.Color = RGB(192, 24, 255)
End SubCe 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 SubAperçu :
Pour appliquer cet effet à plusieurs cellules à la fois, nous pouvons utiliser Selection :
Sub couleurs()
'Epaisseur de la bordure
Selection.Borders.Weight = 4
'Couleur de la bordure : rouge
Selection.Borders.Color = RGB(255, 0, 0)
End SubColorer 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 SubAperç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 SubAperçu :

