Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Fonction qui renvoie le code hexadécimal d'une couleur

Magic_Doctor

XLDnaute Barbatruc
Bonjour,

Je suis à la recherche d'une fonction qui me donnerait le code hexadécimal d'une couleur.
Par exemple : HexaColor(cel As Range, x As Byte) As String
Je pense que le résultat est plutôt une chaîne de caractères (par ex. &H00123).
- si x = 1 --> couleur de la cellule
- si x = 2 --> couleur de la police dans la cellule

Merci d'avance pour tout conseil.
 

Modeste geedee

XLDnaute Barbatruc
Re : Fonction qui renvoie le code hexadécimal d'une couleur

Bonsour®
un fonction personnalisée :
VB:
Function Couleur(target As Range, Optional fond As Integer)
'---- 0 ou absence du 2eme argument renvoie la couleur de remplissage 
'---- tout autre nombre renvoie la couleur de la police
'---- renvoi la couleur par défaut hors Mise En Forme Conditionnelle
Application.Volatile
If fond = 0 Then
Couleur = "&" & Application.Dec2Hex(target.Interior.Color, 6)
Else
Couleur = "&" & Application.Dec2Hex(target.Font.Color, 6)
End If
End Function
 

Lone-wolf

XLDnaute Barbatruc
Re : Fonction qui renvoie le code hexadécimal d'une couleur

Re,

Encore un classeur pour récupérer la valeur RGB et Index. Clique sur une des couleurs, pour éffacer de G9 à G15.
 

Pièces jointes

  • Récuperation couleurs Index & RGB.xls
    52 KB · Affichages: 38

Magic_Doctor

XLDnaute Barbatruc
Re : Fonction qui renvoie le code hexadécimal d'une couleur

Bonsoir Modeste geedee, Lone-wolf,

Merci pour vos réponses, ça marche très bien. Et la cerise sur le gâteau de Lone-wolf pour connaître le code RGB d'une couleur me sera très certainement utile.

Bonne soirée à tous.
 

Lone-wolf

XLDnaute Barbatruc
Re : Fonction qui renvoie le code hexadécimal d'une couleur

Bonjour à tous

Une petite correction concernant la fonction de Modeste

Couleur = "&H" & Application.Dec2Hex(target.Interior.Color, 6). Sans le H, erreur: incompatibilité de type


Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
For x = 1 To 56
Cells(x, 2).Interior.ColorIndex = x
Cells(x, 3) = "&H" & Application.Dec2Hex(Cells(x, 2).Interior.Color, 6)
Cells(x, 5).Interior.Color = Cells(x, 3)
Next x
Cancel = True
End Sub
 
Dernière édition:

Discussions similaires

Réponses
2
Affichages
286
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…