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 0

Le 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

Rechercher des sujets similaires à "vba trouver themecolor"