OVH Cloud OVH Cloud

mise en forme conditionnelle

8 réponses
Avatar
Denis33110
n'y a t il vraiment que 3 possibilités de "mise en forme conditionnelle"??
J'en ai besoin de 6. Comment puis-je faire??
Je m'explique:
je voudrais "colorier" un tableau en fonction de 6 critères représentés par
des lettres ou groupes de lettres: R, RR, DE, DF, M, MN. Et donc 6 couleurs.
J'ai les 3 premières. Comment puis-je avoir les 3 autres?
D'avance un grand merci à celui ou celle qui saura me donner la solution!
Cordialement

8 réponses

Avatar
isabelle
bonjour Denis,

si une solution macro te convient, voici un exemple, tu peut mettre autant de "Case" désiré.

Private Sub Worksheet_Change(ByVal Target As Range)
Set isect = Application.Intersect(Target, Range("A1:A10")) 'plage à adapter

If Not isect Is Nothing Then
Target.Interior.ColorIndex = xlNone

Select Case Target
Case "R"
Target.Interior.ColorIndex = 4
Case "RR"
Target.Interior.ColorIndex = 12
Case "DE"
Target.Interior.ColorIndex = 33
Case "DF"
Target.Interior.ColorIndex = 62
Case "M"
Target.Interior.ColorIndex = 54
Case "MN"
Target.Interior.ColorIndex = 24
End Select

End If
End Sub


isabelle

n'y a t il vraiment que 3 possibilités de "mise en forme conditionnelle"??
J'en ai besoin de 6. Comment puis-je faire??
Je m'explique:
je voudrais "colorier" un tableau en fonction de 6 critères représentés par
des lettres ou groupes de lettres: R, RR, DE, DF, M, MN. Et donc 6 couleurs.
J'ai les 3 premières. Comment puis-je avoir les 3 autres?
D'avance un grand merci à celui ou celle qui saura me donner la solution!
Cordialement



Avatar
michdenis
Bonjour Denis33110,

Voici un exemple :


Tu copies ceci dans le module feuille où l'action doit
se dérouler. L'exemple suivant met le fond des cellulles
de la ligne A:E d'une couleur différente selon la valeur
de celle-ci. À toi d'adapter...

'----------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

Dim Rg As Range
Set Rg = Intersect(Target, Range("A:A"))
If Not Rg Is Nothing Then
For Each c In Rg
Select Case UCase(c)
Case Is = "R"
Range(Cells(c.Row, 1), Cells(c.Row, 5)).Interior.ColorIndex = 3
Case Is = "RR"
Range(Cells(c.Row, 1), Cells(c.Row, 5)).Interior.ColorIndex = 8
Case Is = "DE"
Range(Cells(c.Row, 1), Cells(c.Row, 5)).Interior.ColorIndex = 12
Case Is = "DF"
Range(Cells(c.Row, 1), Cells(c.Row, 5)).Interior.ColorIndex = 18
Case Is = "M"
Range(Cells(c.Row, 1), Cells(c.Row, 5)).Interior.ColorIndex = 26
Case Is = "MN"
Range(Cells(c.Row, 1), Cells(c.Row, 5)).Interior.ColorIndex = 38
Case Else
Range(Cells(c.Row, 1), Cells(c.Row, 5)).Interior.ColorIndex = xlNone
End Select
Next
End If

End Sub
'----------------------------------


Salutations!




"Denis33110" a écrit dans le message de news:

n'y a t il vraiment que 3 possibilités de "mise en forme conditionnelle"??
J'en ai besoin de 6. Comment puis-je faire??
Je m'explique:
je voudrais "colorier" un tableau en fonction de 6 critères représentés par
des lettres ou groupes de lettres: R, RR, DE, DF, M, MN. Et donc 6 couleurs.
J'ai les 3 premières. Comment puis-je avoir les 3 autres?
D'avance un grand merci à celui ou celle qui saura me donner la solution!
Cordialement
Avatar
Bob Phillips
http://www.xldynamic.com/source/xld.CFPlus.Download.html

--

HTH

Bob Phillips

(remove nothere from the email address if mailing direct)

"Denis33110" wrote in message
news:
n'y a t il vraiment que 3 possibilités de "mise en forme conditionnelle"??
J'en ai besoin de 6. Comment puis-je faire??
Je m'explique:
je voudrais "colorier" un tableau en fonction de 6 critères représentés
par

des lettres ou groupes de lettres: R, RR, DE, DF, M, MN. Et donc 6
couleurs.

J'ai les 3 premières. Comment puis-je avoir les 3 autres?
D'avance un grand merci à celui ou celle qui saura me donner la solution!
Cordialement



Avatar
JB
Bonjour


Voir PJ: http://cjoint.com/?bAjypYJPm6

Sur cet exemple, les formats sont paramétrés dans un champ nommé
couleurs MFC.
Le champ sur lequel doit s'appliquer la MFC et nommé ChampMfc.

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range(Range("ChampMFC"))) Is Nothing And
Target.Count = 1 And Not témoin Then
témoin = True
Range("couleursMFC").Cells(1, 1).Copy
Target.PasteSpecial Paste:=xlPasteFormats
For Each c In Range("couleursMFC")
If UCase(Target.Value) = c.Value Then
c.Copy
Target.PasteSpecial Paste:=xlPasteFormats
End If
Next c
Application.CutCopyMode = False
témoin = False
End If
End Sub

Cordialement
Avatar
JB
http://cjoint.com/?bAlwCgNPDl


JB
Avatar
Denis33110
Bonjour Isabelle,
Merci pour ta réponse, mais je ne suis pas un pro d'excel. J'apprends sur le
tas et à ce jour les "Macro" sont pour moi un monde totalement inconnu. Donc
je tâtonne!!
j'ai fait un copier coller de ta formule dans un module pour une feuille de
calcul vierge. Après,... je suis perdu car je suis constamment en "erreur".
Si tu accepte, ou peux me communiquer quelques ficelles complémentaires j'en
serais très heureux
Cordialement
Denis

"isabelle" wrote:

bonjour Denis,

si une solution macro te convient, voici un exemple, tu peut mettre autant de "Case" désiré.

Private Sub Worksheet_Change(ByVal Target As Range)
Set isect = Application.Intersect(Target, Range("A1:A10")) 'plage à adapter

If Not isect Is Nothing Then
Target.Interior.ColorIndex = xlNone

Select Case Target
Case "R"
Target.Interior.ColorIndex = 4
Case "RR"
Target.Interior.ColorIndex = 12
Case "DE"
Target.Interior.ColorIndex = 33
Case "DF"
Target.Interior.ColorIndex = 62
Case "M"
Target.Interior.ColorIndex = 54
Case "MN"
Target.Interior.ColorIndex = 24
End Select

End If
End Sub


isabelle

n'y a t il vraiment que 3 possibilités de "mise en forme conditionnelle"??
J'en ai besoin de 6. Comment puis-je faire??
Je m'explique:
je voudrais "colorier" un tableau en fonction de 6 critères représentés par
des lettres ou groupes de lettres: R, RR, DE, DF, M, MN. Et donc 6 couleurs.
J'ai les 3 premières. Comment puis-je avoir les 3 autres?
D'avance un grand merci à celui ou celle qui saura me donner la solution!
Cordialement






Avatar
Denis33110
Bonjour Michdenis,
Merci pour ta réponse, mais je suis un ignare pour ce qui concerne les
"Macro".
J'ai copié ta formule dans un module de feuille de calcul vierge, et je
n'arrive pas à exécuter.
Si tu peux m'expliquer pas à pas ne serait-ce que la première formule,
j'essairais de continuer aprés. Je ne suis pas pressé, je veux tout
simplement comprendre. A moins que les Macro ne soient très compliquées à
mettre en oeuvre?
D'avance Merci
Cordialement
Denis

"michdenis" wrote:

Bonjour Denis33110,

Voici un exemple :


Tu copies ceci dans le module feuille où l'action doit
se dérouler. L'exemple suivant met le fond des cellulles
de la ligne A:E d'une couleur différente selon la valeur
de celle-ci. À toi d'adapter...

'----------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

Dim Rg As Range
Set Rg = Intersect(Target, Range("A:A"))
If Not Rg Is Nothing Then
For Each c In Rg
Select Case UCase(c)
Case Is = "R"
Range(Cells(c.Row, 1), Cells(c.Row, 5)).Interior.ColorIndex = 3
Case Is = "RR"
Range(Cells(c.Row, 1), Cells(c.Row, 5)).Interior.ColorIndex = 8
Case Is = "DE"
Range(Cells(c.Row, 1), Cells(c.Row, 5)).Interior.ColorIndex = 12
Case Is = "DF"
Range(Cells(c.Row, 1), Cells(c.Row, 5)).Interior.ColorIndex = 18
Case Is = "M"
Range(Cells(c.Row, 1), Cells(c.Row, 5)).Interior.ColorIndex = 26
Case Is = "MN"
Range(Cells(c.Row, 1), Cells(c.Row, 5)).Interior.ColorIndex = 38
Case Else
Range(Cells(c.Row, 1), Cells(c.Row, 5)).Interior.ColorIndex = xlNone
End Select
Next
End If

End Sub
'----------------------------------


Salutations!




"Denis33110" a écrit dans le message de news:

n'y a t il vraiment que 3 possibilités de "mise en forme conditionnelle"??
J'en ai besoin de 6. Comment puis-je faire??
Je m'explique:
je voudrais "colorier" un tableau en fonction de 6 critères représentés par
des lettres ou groupes de lettres: R, RR, DE, DF, M, MN. Et donc 6 couleurs.
J'ai les 3 premières. Comment puis-je avoir les 3 autres?
D'avance un grand merci à celui ou celle qui saura me donner la solution!
Cordialement





Avatar
Denis33110
Bonjour JB,
Merci pour ta réponse. Je suis allé sur cjoint.com comme tu me l'indiquais,
bien mais lorsque j'ai voulu décortiquer les formats et formules pour en
comprendre le mécanisme, car je ne connais rien à la Macro, je n'ai rien pu
faire. J'ai aussi essayé de transposer le tableau et de travailler dessus,
mais je n'avais plus aucune macro. J'ai appris le fonctionnement de excel sur
le tas et je viens de m'apercevoir que je suis très très loin du niveau de
l'exemple, ne serait-ce que pour l'automatisation des mois (coloriage des
week-ends!) mises à jours de l'agenda.
Aurais-tu donc quelques ficelles à me communiquer pour faciliter mon
apprentissage??
Cordialement
Denis

"JB" wrote:

Bonjour


Voir PJ: http://cjoint.com/?bAjypYJPm6

Sur cet exemple, les formats sont paramétrés dans un champ nommé
couleurs MFC.
Le champ sur lequel doit s'appliquer la MFC et nommé ChampMfc.

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range(Range("ChampMFC"))) Is Nothing And
Target.Count = 1 And Not témoin Then
témoin = True
Range("couleursMFC").Cells(1, 1).Copy
Target.PasteSpecial Paste:=xlPasteFormats
For Each c In Range("couleursMFC")
If UCase(Target.Value) = c.Value Then
c.Copy
Target.PasteSpecial Paste:=xlPasteFormats
End If
Next c
Application.CutCopyMode = False
témoin = False
End If
End Sub

Cordialement