Vous avez apprécié ?
Cliquez ;-)

Fonction VBA : ColorBox

La fonction VBA ColorBox ouvre une boîte de dialogue permettant à l'utilisateur de choisir une couleur parmi une large palette de 160 couleurs (il est également possible d'entrer une couleur personnalisée au format hexadécimal).

Cette fonction renvoie -1 si l'utilisateur n'a pas effectué de choix de couleur.

Utilisation :

ColorBox

ou

ColorBox(couleur_initiale, titre) (arguments facultatifs)


Exemple d'utilisation avec un UserForm :

Au clic sur le bouton de l'UserForm, l'utilisateur choisit la nouvelle couleur du bouton :

Private Sub CommandButton_couleur_Click()
    CommandButton_couleur.BackColor = ColorBox
End Sub
colorbox-palette-couleurs-excel-vba - colorbox-excel

Exemple d'utilisation sur une feuille Excel :

Au clic sur une cellule de la 3e colonne, la cellule prend la couleur choisie par l'utilisateur :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   
    If Target.Column = 3 Then 'Si colonne C
       Target.Interior.Color = ColorBox
    End If
   
End Sub

La fonctionnalité du code ci-dessous est identique au précédent à la différence près que la couleur de la cellule n'est modifiée que si l'utilisateur choisit une couleur (valeur renvoyée = -1 si aucun choix) et que le premier argument facultatif est spécifié (ici, la couleur de la cellule avant modification est présélectionnée dans la ColorBox) :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   
    If Target.Column = 3 Then 'Si colonne C
        couleur = ColorBox(Target.Interior.Color)
        If couleur > -1 Then 'Si l'utilisateur a choisi une couleur
           Target.Interior.Color = ColorBox
        End If
    End If
   
End Sub
colorbox-choix-couleurs-excel-vba - colorbox-excel

Exemple d'utilisation en vidéo :

Remarque : cette fonction nécessite l'installation du pack de fonctions XLP (un add-in gratuit pour Excel qui ajoute 65 nouvelles fonctions).