Mise en forme couleurs de cellules avec macro

Bonjour,

Je viens vers vous car ne m'y connaissant pas trop en VBA j'ai une petite interrogation. Je vous expose mon problème:

Dans le fichier joint j'ai 3 feuilles :

- Dans la première feuille "Limites", j'ai des limites inférieurs et supérieurs pour chacune de mes 9 caractéristiques.

- Dans la seconde feuille "Valeurs", j'ai les valeurs obtenues qui doivent être entre les 2 limites précédentes pour être acceptées comme bonnes.

- Dans la troisième feuille "OK ou NOK", j'ai le nom de chaque caractéristique dans des cellules.

Le but est d'afficher dans la 3ème feuille en VERT la case de la caractéristique si elle se trouve dans les limites et en ROUGE si la valeur de cette limite est hors limites.

Merci d'avance pour votre aide!!!

PS : j'ai déjà essayé avec la mise en forme conditionnelle mais cela ne fonctionne pas car les différentes valeurs se trouvent sur plusieurs feuilles.

14color.xlsx (10.24 Ko)

Bonjour

Un essai. Te convient-il ?

Bye !

16color-v1.xlsm (17.59 Ko)

gmb merci pour ta réponse rapide .

J'ai regardé un peu ce que cela donnai et c'est exactement ce qu'il me faut . Cependant il y a un petit problème dont je ne trouve pas l'origine :

- Tout fonctionne bien pour la limite inférieur mais cela ne fonctionne pas pour la limite supérieur. Si la valeur rentrée est supérieur à la limite supérieur, la cellule reste affichée en VERTE alors qu'elle devrait être ROUGE.

Merci pour ton aide.

Exact ! J'ai répondu trop vite.

Nouvelle version.

20color-v2.xlsm (17.59 Ko)

Merciiiii Beaucoup gmb pour ta solution et ta réactivité!!!

Cela fonctionne parfaitement et c'est exactement ce qu'il me fallai

Bonjour bmg,

Je reviens vers toi car la disposition de mon fichier a évoluée comme sur le fichier en PJ (transposition de ligne / colonne de 2 feuilles) et je n'arrive pas à adapter ta solution v2.

Pourrais tu m'aider sur le sujet?

Merci d'avance pour ton aide!

10color-v3.xlsm (10.74 Ko)

Bonjour

Il n'y a qu'à demander.

Bye !

20color-v4.xlsm (17.75 Ko)

Encore merci pour ta réactivité cela marche impeccablement bien

Une dernière petite interrogation pour bien comprendre ton code:

Si mes caractéristique (1,2,3,4,5,6,7,8,9) sont remplacées par du texte (un,deux,trois,...) Qe faut il changer dans le code au niveau de la ligne surlignée?

Dim c, fL, fV

Private Sub Worksheet_Activate()
    Set fL = Sheets("Limites")
    Set fV = Sheets("Valeurs")
    For Each c In Range("B1:J1")

       If fV.Cells(2, c + 3) > fL.Cells(3, 2 * c) And fV.Cells(2, c + 3) < fL.Cells(3, 2 * c + 1) Then
            c.Interior.Color = RGB(0, 255, 0)
        Else
            c.Interior.Color = RGB(255, 0, 0)
        End If
    Next c
End Sub

Merci!

aston01390 a écrit :

Si mes caractéristique (1,2,3,4,5,6,7,8,9) sont remplacées par du texte (un,deux,trois,...) Qe faut il changer dans le code au niveau de la ligne surlignée?

Alors, dans la ligne que tu as surlignée, il te faut remplacer "c+1" par "c.Column"

Ce qui donnera :

If fV.Cells(2, c.Column + 2) > fL.Cells(3, 2 * (c.Column - 1)) And fV.Cells(2, c.Column + 2) < fL.Cells(3, 2 * (c.Column - 1) + 1) Then

Ok ?

Bye !

Excellent!!!

Un grand merci à toi gmb pour ton aide précieuse

Bonjour gmb,

J'aurais une dernière petite question sur le sujet :

Il faudrait en plus, que si les cellules des valeurs de limites (inf et sup) sont vides alors la case correspondante s'affiche alors en GRIS (car actuellement si il n'y a pas de valeurs renseignées, les cases correspondantes sont ROUGE).

Merci d'avance pour ton aide !

Bonjour

Nouvelle version.

Bye !

13color-v5.xlsm (18.21 Ko)

Encore un fois merci pour ton support gmb .

Par tout hasard pourrais tu m'apporter ton aide sur ce sujet :

https://forum.excel-pratique.com/excel/extraction-des-fichiers-les-plus-recent-d-un-dossier-t62741.html

Ce serait volontiers mais je ne comprends pas très bien tes explications.

Tu écris :

Une macro est déjà présente et permet de rechercher dans un dossier le dernier fichier enregistré.

De quelle macro s’agit-il ?

Si elle fait intervenir un autre fichier, il faudrait en disposer…

Et la suite de tes explications est, pour moi, tout aussi difficile à suivre.

Désolé.

Bonjour à tous,

Je reviens vers vous sur ce sujet car j'ai une petite évolution à apporter sur ce fichier :

En plus des limites il y a maintenant des limites élargies. Je voudrais que le code couleur reste le même mais que la couleur rouge s'affiche quand la valeur est comprise entre la valeur de limite et la valeur de limite étendue. De plus, si la valeur est supérieur à la limite étendue alors la cellule doit clignoter rouge/bleu.

Merci d'avance pour vos réponses.

4color-v5.xlsm (18.05 Ko)
Rechercher des sujets similaires à "mise forme couleurs macro"