VBA Excel - Trouver le themecolor d'une cellule
Bonjour à tous !!
Après 3 jours de recherches.. je ne trouve AUCUN article résolvant ce problème.. le voici :
je souhaite colorier une cellule en "x" couleur si elle correspond à tel ou tel critère. J'ai fait du bricolage pour le moment, mais "mon" code n'est pas propre, entre "" car c'est une très aimable personne (frangy) qui me l'a fait. voici un extrait :
Range("BO4:BO" & DerLig).Select
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlNotEqual, _
Formula1:="=0"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Font
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
End With
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 192
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
Je veux donc chercher le themecolor d'une cellule, pour m'aider à en colorier une autre et/ou trouver une liste des themecolor.
A quoi sert le patterncolor, qu'est ce donc ?
Merci.. See you quickly
<config>Windows Vista / Chrome 46.0.2490.86</config>
Bonsoir,
voici un bout de code extrait de mon fichier APAcHeS...
Il permet de tester le type de remplissage d'une cellule ([Chômé]) et de le reproduire dans la mise en forme conditionnelle de la cellule de destination :
On Error Resume Next
test_MFC = [coul_chômé].Interior.Gradient.ColorStops.Count
If Err > 0 Then
With .FormatConditions(1)
.Interior.Pattern = [coul_chômé].Interior.Pattern
.Interior.PatternColor = [coul_chômé].Interior.PatternColor
.Interior.Color = [coul_chômé].Interior.Color
End With
Else
With .FormatConditions(1)
With .Interior
.Pattern = [coul_chômé].Interior.Pattern
If [coul_chômé].Interior.Pattern = xlPatternRectangularGradient Then
.Gradient.RectangleLeft = [coul_chômé].Interior.Gradient.RectangleLeft
.Gradient.RectangleRight = [coul_chômé].Interior.Gradient.RectangleRight
.Gradient.RectangleTop = [coul_chômé].Interior.Gradient.RectangleTop
.Gradient.RectangleBottom = [coul_chômé].Interior.Gradient.RectangleBottom
Else
.Gradient.Degree = [coul_chômé].Interior.Gradient.Degree
End If
.Gradient.ColorStops.Clear
End With
If [coul_chômé].Interior.Gradient.ColorStops.Count >= 3 Then
leplus = 0.5
Else
leplus = 1
End If
j = 0
For k = 0 To [coul_chômé].Interior.Gradient.ColorStops.Count - 1
With .Interior.Gradient.ColorStops.Add(j)
.Color = [coul_chômé].Interior.Gradient.ColorStops(k + 1).Color
.TintAndShade = [coul_chômé].Interior.Gradient.ColorStops(k + 1).TintAndShade
End With
j = j + leplus
Next k
End With
End If
On Error GoTo 0Le test permet de déterminer si c'est une couleur seule (rouge, jaune, ver...), ou bien si c'est un style de motif (rayure, petit points...), ou bien si c'est une texture et couleur (dégradé de deux couleurs en diagonal, vertical, ou un style à deux couleur mais sur trois zones...)
Je l'ai "bidouillé" en faisant pas mal de tests, et maintenant si on choisi n'importe quel type de remplissage pour la cellule [Chômé] il sera retranscrit dans la cellule cible.
A voir le fonctionnement dans APAcHeS...
En fonction du choix de remplissage sur la feuille "Système", le format et le type de style ou de texture est reporté sur la feuille "Planning".
@ bientôt
LouReeD