Code couleur vba

adr95

XLDnaute Occasionnel
Bonjour,

Comment obtenir le code couleur vba de ma cellule en annexe.

J'ai essayé de comparer la couleur avec les couleurs vba avec ce code mais je n'ai pas trouvé ma couleur :
For x = 1 To 56
Cells(x, 1).Select

With Selection.Interior
.ColorIndex = x
.Pattern = xlSolid
End With
Next x

Quelqu'un a-t-il une autre méthode ?

Merci
 

Pièces jointes

  • Couleur de cellule VBA.xlsx
    9.4 KB · Affichages: 186

WUTED

XLDnaute Occasionnel
Re : Code couleur vba

Bonjour adr95,

Dans ton cas, c'est le dégradé d'une couleur, ça rend la chose un peu plus complexe, j'obtiens ce code avec l'enregistreur de macro en construisant une cellule identique :

VB:
Sub Macro1()
'
' Macro1 Macro
'

'
    With Selection.Interior
        .Pattern = xlPatternLinearGradient
        .Gradient.Degree = 90
        .Gradient.ColorStops.Clear
    End With
    With Selection.Interior.Gradient.ColorStops.Add(0)
        .ThemeColor = xlThemeColorDark1
        .TintAndShade = 0
    End With
    With Selection.Interior.Gradient.ColorStops.Add(1)
        .ThemeColor = xlThemeColorAccent3
        .TintAndShade = -0.250984221930601
    End With
End Sub

Il y'a donc pas mal de propriétés à modifier pour avoir la même cellule.

Bonne journée.
 

WUTED

XLDnaute Occasionnel
Re : Code couleur vba

Re,

Pour que ce soit vraiment complet il faudrait que tu testes toutes les propriétés visibles dans la macro du dessus du genre :
Code:
If Cells(5,2).Interior.Pattern = xlPatternLinearGradient And Cells(5,2).Interior.Gradient.Degree = 90 And...etc
 

adr95

XLDnaute Occasionnel
Re : Code couleur vba

Re,

J'ai essayé le code suivant mais ça n'a pas l'air de marcher :
If Cells(5, 2).Interior.Pattern = xlPatternLinearGradient And Cells(5, 2).Interior.Gradient.Degree = 90 And Cells(5, 2).Interior.Gradient.ColorStops.Add(0).ThemeColor = xlThemeColorDark1 And Cells(5, 2).Interior.Gradient.ColorStops.Add(0).TintAndShade = 0 And Cells(5, 2).Interior.Gradient.ColorStops.Add(1).ThemeColor = xlThemeColorAccent3 And Cells(5, 2).Interior.Gradient.ColorStops.Add(1).TintAndShade = -0.250984221930601 Then
Cells(1, 1) = "ok"
End If
 

Modeste geedee

XLDnaute Barbatruc
Re : Code couleur vba

Bonsour®
Ok merci et si je veux faire une condition pour tester si la couleur est bonne comment faire if cells(5,2)=... ?

pour une couleur de remplissage de fond unie
une fonction personnalisée :
Code:
Function couleur(target As Range)
Application.Volatile
Dim x As Double
x = target.Interior.Color
couleur = "RVB(" & x Mod 256 & "-" & Int(x / 256 ^ 1) Mod 256 & "-" & Int(x / 256 ^ 2) Mod 256 & ")"
End Function
Rappel :
un changement de format n'actualise pas les calculs qu'il faut alors activer par la touche F9


cette fonction ne marche pas non plus avec les MEFC, ni avec les couleurs des themes et dégradés(XL 2007, 2010)
 

adr95

XLDnaute Occasionnel
Re : Code couleur vba

Bonjour,

Bonsour®

pour une couleur de remplissage de fond unie
une fonction personnalisée :
Code:
Function couleur(target As Range)
Application.Volatile
Dim x As Double
x = target.Interior.Color
couleur = "RVB(" & x Mod 256 & "-" & Int(x / 256 ^ 1) Mod 256 & "-" & Int(x / 256 ^ 2) Mod 256 & ")"
End Function
Rappel :
un changement de format n'actualise pas les calculs qu'il faut alors activer par la touche F9


cette fonction ne marche pas non plus avec les MEFC, ni avec les couleurs des themes et dégradés(XL 2007, 2010)

Merci mais cette fonction ne marche pas pour des couleur dégradés et j'ai bien sur une couleur dégradé.

Merci quand même
 

Modeste geedee

XLDnaute Barbatruc
Re : Code couleur vba

Bonsour®
Bonjour,
Merci mais cette fonction ne marche pas pour des couleur dégradés et j'ai bien sur une couleur dégradé.
Merci quand même

Excel est d'abord un tableur...
réfléchir à ce qu'apporte les effets visuels eu égard à la complexité de mise en oeuvre et de maintenance.

Penser également à la compatibilté avec les versions antérieures (Excel 97-2003)

Excel n'a pas vocation à etre exposé dans une galerie d'art ...

:cool:
Quoi que ???
 

adr95

XLDnaute Occasionnel
Re : Code couleur vba

Re,

Bonsour®

Excel est d'abord un tableur...
réfléchir à ce qu'apporte les effets visuels eu égard à la complexité de mise en oeuvre et de maintenance.

Penser également à la compatibilté avec les versions antérieures (Excel 97-2003)

Excel n'a pas vocation à etre exposé dans une galerie d'art ...

:cool:
Quoi que ???

Oui c'est sur mais comme j'ai la possibilité d'utiliser un dégradé c'est quand même plus agréable qu'une couleur uniforme mais bon si c'est trop complexe à mettre ne oeuvre je vais peut être changer ma couleur...
 

Discussions similaires

Statistiques des forums

Discussions
312 321
Messages
2 087 265
Membres
103 501
dernier inscrit
talebafia