[VBA] Fonction qui retourne la couleur active d'une MFC

Dernière mise à jour le 6 novembre 2009 à 10:06 par marlalapocket
Publié par lermite222
Cette fonction retourne la valeur du format actif d'une mise en forme conditionnelle.
Avec la fonction de la démo, deux valeurs peuvent êtres retournées.
  • Mode = 0 : retourne la valeur de Interior.ColorIndex
  • Mode = 1 : retourne la valeur de Interior.Color

Mais avec quelque modifications toutes les autres propriétés peuvent êtres renvoyées.

Public Function CouleurMFC(RG As Range, Optional Mode As Byte = 0) As Variant
Dim e As Long, i As Byte, LoTest As Boolean
Dim LoMFC As FormatCondition
    Application.Volatile
    'boucle sur le nombre de condition(s)
    'Si pas de MFC .FormatConditions.Count renvoi 0
    For i = 1 To RG.FormatConditions.Count
        Set LoMFC = RG.FormatConditions(i)
        If LoMFC.Type = xlCellValue Then
        'tester le type de la formule entrée
            Select Case LoMFC.Operator
            Case xlEqual
                LoTest = RG = Evaluate(LoMFC.Formula1)
            Case xlNotEqual
                LoTest = RG <> Evaluate(LoMFC.Formula1)
            Case xlGreater
                LoTest = RG > Evaluate(LoMFC.Formula1)
            Case xlGreaterEqual
                LoTest = RG >= Evaluate(LoMFC.Formula1)
            Case xlLess
                LoTest = RG < Evaluate(LoMFC.Formula1)
            Case xlLessEqual
                LoTest = RG <= Evaluate(LoMFC.Formula1)
            Case xlNotBetween
                LoTest = (RG < Evaluate(LoMFC.Formula1) Or RG > Evaluate(LoMFC.Formula2))
            Case xlBetween
                LoTest = (RG >= Evaluate(LoMFC.Formula1)) And (RG <= Evaluate(LoMFC.Formula2))
            End Select
            If LoTest Then
                'Peu ajouter d'autre format si nécessaire,
                'comme la bordure, la police etc..
                Select Case Mode
                Case 0
                    CouleurMFC = LoMFC.Interior.ColorIndex
                Case 1
                    CouleurMFC = LoMFC.Interior.Color
                End Select
                Exit Function
            End If
        End If
    Next i
    CouleurMFC = 0
End Function


La formule dans le tableur
=CouleurMFC(A2)


La MFC peut être avec une valeur directe ou une valeur indirecte (le contenu d'une autre cellule)
  • Ex 1 : >1 and <10
  • Ex 2 : >=D10 and <=E10
Meilleures réponses pour « Fonction qui retourne la couleur active d'une MFC » dans :
Configurer le mode Routeur de la Freebox VoirIl est possible d'activer le mode "Routeur" (NAT) de la Freebox. Avantages et inconvénients Avantages Inconvénient Configurer le mode routeur Connexion au site de Free Identification Fonctionnalités routeur de la Freebox Activation du...
Linux – Ubuntu – Activer le compte root VoirSur Ubuntu l’accès via l’utilisateur root est généralement bloqué seul l’utilisation des commandes sudo/gksu permettent d’activer les fonctionnalités superusers. Pour activer le compte root et accéder ainsi directement via la console en mode root,...
Principes d'Active Directory VoirPrincipe de fonctionnement d'Active Directory Active Directory permet de représenter et de stocker les éléments constitutifs du réseau (les ressources informatiques mais également les utilisateurs) sous formes d'objets, c'est-à-dire un ensemble...
Les objets en langage C++ VoirLa création d'objets En C++, il existe deux façons de créer des objets, c'est-à-dire d'instancier une classe : de façon statique de façon dynamique La création statique La création statique d'objets consiste à créer un objet en lui affectant un...
VBScript - Les fonctions mathématiques VoirLes fonctions mathématiques Fonction Description Abs(number) Retourne la valeur absolue d'un nombre. Atn(number) Retourne l'arc-tangente d'un...