Macro VBA qui détecte le Font de la valeur modifié par une mise en forme

Bonjour à tous,

Après une semaine de recherche à arborer les plaines d'internet pour trouver un subterfuge a mon problème, je reviens vers vous pour vous demandez une aide.

Je m'explique et je posterai en commentaire un fichier Excel "exemple" de mon problème qui permettra de mieux comprendre.

Lorsque j'ai un tableau, je souhaite savoir depuis une autre page de mon classeur Excel si une des valeurs est en ROUGE à cause de la mise en forme que j'ai décidé sur le tableau. Actuellement, je n'y arrive pas, car lorsque je récupère la couleur Font de la cellule du tableau, l'index de couleur n'a pas changé, car la mise en forme n’agit pas sur cela. (Je me casse un peu la tête à trouver une solution afin de contourner ce problème.)

Car concrètement, je souhaiterai que sur l'autre page il y ait un témoin que j'ai nommé Erreur qui changerait de couleur. Vert si la ligne est OK et Rouge si une valeur est rouge sur la ligne. Quand je parle de ligne , c'est exclusivement les valeurs dans un background bleu ciel. C'est à dire , Contrôle qu'il n'y ait pas d'erreur sur F3 et H4 donc Erreur(deuxième page en C5) change de couleur en Vert ou rouge si il y a une valeur qui a fait passer en True la forme conditionnelle.

Je vous remercie sincèrement pour les futurs aident apportées.

Steamby

13exemple.xlsx (11.01 Ko)

Bonjour,

Pas sûr d'avoir bien compris mais il suffirait de reporter les conditions de MEFC sur votre autre plage d'application en les imbriquant via un OU, donc pour le vert :

=OU(OU(Feuil1!$F4>Feuil1!$F$1;Feuil1!$F4<Feuil1!$F$2);OU(Feuil1!$H4>Feuil1!$H$1;Feuil1!$H4<Feuil1!$H$2))

Et pour le rouge l'inverse.

Cdlt,

PS : J'ai édité la MEFC de la plage H de la feuille H car elle se référait au min et max de F1 et F2. Je pense que c'était plutôt H1 et H2.

Bonjour Ergotamine, merci pour votre réponse , en effet votre solution est intéressante pour un petit nombre de colonnes bleu ciels mais j'en possède dans mon fichier une 100 avec des conditions de valeur différentes à (1 jusqu’à 0).

C'est pour cela que je cherchais a coder une petite macro (Bouton) qui cible les cellules bleu ciel et vérifie si il y a une valeur rouge (Qui voudrait dire hors limite). J'ai tenté de faire cela mais en vain. Car la spécialité que je ne savais pas c'est que lorsqu'il y a une mise en forme conditionnelle en rouge, la valeur elle-même n'est pas rouge mais garde la valeur noir qui était de base.

Bonjour,

Dans ce cas, un test par macro avec le fichier fourni en suivant le même principe qu'exprimé toute à l'heure. Cette fois il suffit de rajouter les valeurs des colonnes contenant les limites et données à analyser dans l'array COLS :

Sub MEFC()
Dim LR%, i%, RES As Boolean
Dim COLS()
Dim COL As Variant
COLS = Array("F", "H") 'Ajoutez les colonnes contenant les données et valeurs limites ici
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
With Worksheets("Feuil1")
    LR = .Cells(.Rows.Count, 3).End(xlUp).Row
    For i = 4 To LR
    RES = False
        For Each COL In COLS
            If .Range(COL & i) < .Range(COL & 2) Or .Range(COL & i) > .Range(COL & 1) Then RES = True 'Les valeurs limites se trouvent en ligne 1 et 2 comme dans le fichier présenté
        Next COL
        If RES = True Then
            Worksheets("Feuil2").Range("C" & i + 1).Font.ColorIndex = 9
            Else
            Worksheets("Feuil2").Range("C" & i + 1).Font.ColorIndex = 10
        End If
    Next i
End With
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub

Cdlt,

C'est excellent, je viens de tester sur le fichier exemple , ça marche bien !

je vais implémenter cela dans l'après-midi et je reviendrai te valider le bon fonctionnement.

J'oubliais : Merci beaucoup ! :)

Bonjour à tous,

Une autre méthode assez courte trouvée par Sébastien il n'y a pas si longtemps : https://www.excel-pratique.com/fr/astuces_vba/fonction-couleur-mfc

Cela permet également de jouer avec dans des formules directement

Bonne journée,

Baboutz

Rechercher des sujets similaires à "macro vba qui detecte font valeur modifie mise forme"