Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

recuperer la couleur de fond aprés MFC

14 réponses
Avatar
yan
Bonjour a tous
Souhaitant récupérer la couleur de fond des cellules d'une plage afin de
faire un petit traitement,
en cours de procédure j'ai fait ceci

Range("plage").Select
For Each c In Selection
coul= c.Interior.ColorIndex
if coul=.........etc.
etc.
etc.
next
Le problème c'est que la couleur de fond de mes cellules étant issu de MFC
,c.Interior.ColorIndex me renvoi la couleur du fond d'origine et pas celle
après MCF.
Y a t-il une solution
Merci
A+
Yan

10 réponses

1 2
Avatar
Jacky
Bonjour,

Y a t-il une solution
Utiliser la même condition que celle utilisée pour la MFC


--
Salutations
JJ


"yan" a écrit dans le message de news:
45c48dce$0$25951$
Bonjour a tous
Souhaitant récupérer la couleur de fond des cellules d'une plage afin de
faire un petit traitement,
en cours de procédure j'ai fait ceci

Range("plage").Select
For Each c In Selection
coul= c.Interior.ColorIndex
if coul=.........etc.
etc.
etc.
next
Le problème c'est que la couleur de fond de mes cellules étant issu de MFC
,c.Interior.ColorIndex me renvoi la couleur du fond d'origine et pas
celle après MCF.
Y a t-il une solution
Merci
A+
Yan




Avatar
yan
C'est a dire?

j'avais remplacé coul= c.Interior.ColorIndex par
c.Format.Condition.Interior.ColorIndex mais ça marche pas
la couleur d'une cellule pouvant soit etre celle de la couleur d'origine
ou condition (1), ou condition (2), ou condition (3)


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

Bonjour,

Y a t-il une solution
Utiliser la même condition que celle utilisée pour la MFC


--
Salutations
JJ


"yan" a écrit dans le message de news:
45c48dce$0$25951$
Bonjour a tous
Souhaitant récupérer la couleur de fond des cellules d'une plage afin de
faire un petit traitement,
en cours de procédure j'ai fait ceci

Range("plage").Select
For Each c In Selection
coul= c.Interior.ColorIndex
if coul=.........etc.
etc.
etc.
next
Le problème c'est que la couleur de fond de mes cellules étant issu de
MFC ,c.Interior.ColorIndex me renvoi la couleur du fond d'origine et pas
celle après MCF.
Y a t-il une solution
Merci
A+
Yan








Avatar
Jacky
Re...
Quelle est la formule dans la feuille au:
Menu / format / mise en forme conditionnelle
Qui peinturlure les cellules ???
--
Salutations
JJ


"yan" a écrit dans le message de news:
45c49741$0$25951$
C'est a dire?

j'avais remplacé coul= c.Interior.ColorIndex par
c.Format.Condition.Interior.ColorIndex mais ça marche pas
la couleur d'une cellule pouvant soit etre celle de la couleur d'origine
ou condition (1), ou condition (2), ou condition (3)


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

Bonjour,

Y a t-il une solution
Utiliser la même condition que celle utilisée pour la MFC


--
Salutations
JJ


"yan" a écrit dans le message de news:
45c48dce$0$25951$
Bonjour a tous
Souhaitant récupérer la couleur de fond des cellules d'une plage afin de
faire un petit traitement,
en cours de procédure j'ai fait ceci

Range("plage").Select
For Each c In Selection
coul= c.Interior.ColorIndex
if coul=.........etc.
etc.
etc.
next
Le problème c'est que la couleur de fond de mes cellules étant issu de
MFC ,c.Interior.ColorIndex me renvoi la couleur du fond d'origine et
pas celle après MCF.
Y a t-il une solution
Merci
A+
Yan












Avatar
yan
En fonction de ce que j'écris dans la cellule elle peut etre:
verte
orange
rouge
ce que j'écris est sans importance mais se termine toujours soit par un
"f", un "m", ou un "d"
condition (1) si la formule est =DROITE(B1;1)="f" format vert
condition (2) si la formule est =DROITE(B1;1)="m format orange
condition (3) si la formule est =DROITE(B1;1)="d" format rouge
Lorsque "each c in selection" scanne les cellules comment récupérer la
couleur du fond issu d'une MFC!!!
Je pourrai faire mon traitement en regardant si la valeur de la cellule se
termine par "f", "m",ou "d", et là je sais le faire mais avec la couleur de
fond je n'y arrive pas
Merci


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

Re...
Quelle est la formule dans la feuille au:
Menu / format / mise en forme conditionnelle
Qui peinturlure les cellules ???
--
Salutations
JJ


"yan" a écrit dans le message de news:
45c49741$0$25951$
C'est a dire?

j'avais remplacé coul= c.Interior.ColorIndex par
c.Format.Condition.Interior.ColorIndex mais ça marche pas
la couleur d'une cellule pouvant soit etre celle de la couleur d'origine
ou condition (1), ou condition (2), ou condition (3)


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

Bonjour,

Y a t-il une solution
Utiliser la même condition que celle utilisée pour la MFC


--
Salutations
JJ


"yan" a écrit dans le message de news:
45c48dce$0$25951$
Bonjour a tous
Souhaitant récupérer la couleur de fond des cellules d'une plage afin
de faire un petit traitement,
en cours de procédure j'ai fait ceci

Range("plage").Select
For Each c In Selection
coul= c.Interior.ColorIndex
if coul=.........etc.
etc.
etc.
next
Le problème c'est que la couleur de fond de mes cellules étant issu de
MFC ,c.Interior.ColorIndex me renvoi la couleur du fond d'origine et
pas celle après MCF.
Y a t-il une solution
Merci
A+
Yan
















Avatar
Jacky
re...
Je pourrai faire mon traitement en regardant si la valeur de la cellule se
termine par "f", "m",ou "d", et là je sais le faire
C'est cela qu'il faut faire en VBA :-)


mais avec la couleur de fond je n'y arrive pas
Parce que l'on ne peut pas :-(((


Mais pas vraiment besoin de VBA,.........
dans une cellule tu peux faire par exemple pour "f"
=SOMMEPROD((DROITE(plage;1)="f")*(plage<>""))
idem pour "m" et "d"
--
Salutations
JJ


"yan" a écrit dans le message de news:
45c4a0ca$0$5097$
En fonction de ce que j'écris dans la cellule elle peut etre:
verte
orange
rouge
ce que j'écris est sans importance mais se termine toujours soit par un
"f", un "m", ou un "d"
condition (1) si la formule est =DROITE(B1;1)="f" format vert
condition (2) si la formule est =DROITE(B1;1)="m format orange
condition (3) si la formule est =DROITE(B1;1)="d" format rouge
Lorsque "each c in selection" scanne les cellules comment récupérer la
couleur du fond issu d'une MFC!!!
Je pourrai faire mon traitement en regardant si la valeur de la cellule se
termine par "f", "m",ou "d", et là je sais le faire mais avec la couleur
de fond je n'y arrive pas
Merci


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

Re...
Quelle est la formule dans la feuille au:
Menu / format / mise en forme conditionnelle
Qui peinturlure les cellules ???
--
Salutations
JJ


"yan" a écrit dans le message de news:
45c49741$0$25951$
C'est a dire?

j'avais remplacé coul= c.Interior.ColorIndex par
c.Format.Condition.Interior.ColorIndex mais ça marche pas
la couleur d'une cellule pouvant soit etre celle de la couleur
d'origine
ou condition (1), ou condition (2), ou condition (3)


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

Bonjour,

Y a t-il une solution
Utiliser la même condition que celle utilisée pour la MFC


--
Salutations
JJ


"yan" a écrit dans le message de news:
45c48dce$0$25951$
Bonjour a tous
Souhaitant récupérer la couleur de fond des cellules d'une plage afin
de faire un petit traitement,
en cours de procédure j'ai fait ceci

Range("plage").Select
For Each c In Selection
coul= c.Interior.ColorIndex
if coul=.........etc.
etc.
etc.
next
Le problème c'est que la couleur de fond de mes cellules étant issu de
MFC ,c.Interior.ColorIndex me renvoi la couleur du fond d'origine et
pas celle après MCF.
Y a t-il une solution
Merci
A+
Yan




















Avatar
garnote
Salut Yan,

Peut-être que :
Sub Fond()
For Each cellule In Selection
Select Case Right(cellule, 1)
Case "f": c = 1
Case "m": c = 2
Case "d": c = 3
Case Else: c = 0
End Select
If c = 0 Then
MsgBox cellule.Interior.ColorIndex
Else
MsgBox cellule.FormatConditions(c).Interior.ColorIndex
End If
Next cellule
End Sub

Serge


"yan" a écrit dans le message de news: 45c48dce$0$25951$
Bonjour a tous
Souhaitant récupérer la couleur de fond des cellules d'une plage afin de faire un petit traitement,
en cours de procédure j'ai fait ceci

Range("plage").Select
For Each c In Selection
coul= c.Interior.ColorIndex
if coul=.........etc.
etc.
etc.
next
Le problème c'est que la couleur de fond de mes cellules étant issu de MFC ,c.Interior.ColorIndex me renvoi la couleur du fond
d'origine et pas celle après MCF.
Y a t-il une solution
Merci
A+
Yan




Avatar
LSteph
Bonjour,

Ce n'est pas dû un problème.

,c.Interior.ColorIndex me renvoi la couleur du fond d'origine et pas celle
après MCF.



C'est en quelque sorte normal:
Lorsque l'on utilise une MEFC (excel) la véritable couleur de fond
n'est pas modifiée, c'est juste un artifice visuel, disons une couleur
rajoutée par dessus.
Tu peux tester en vba la valeur de colorindex reste identique à ce
qu'elle était.

Tu peux très bien prendre des cellules et les colorier soit en bleu soit
en vert. Puis leur appliquer une mefc qui suivant une condition les rend
rouge. Lorsque les valeurs changent une cellule qui était rouge
(remplissait la condition)peut très (lorsque la condition n'est plus
remplie)bien revenir à bleu ou vert; ce sera selon sa couleur initiale!

C'est pourquoi la propriété .interior.colorindex de la cellule conserve
bien la valeur de cette couleur.

Conclusion: Suis le conseil que t'a donné Jacky
Plutôt que vouloir récupèrer la MEFC utiliser sa condition.

Sinon, ne pas utiliser la MEFC d'excel mais une macro qui colorie selon
une condition et à ce titre modifie la valeur de colorindex.


Cordialement.

lSteph


Bonjour a tous
Souhaitant récupérer la couleur de fond des cellules d'une plage afin de
faire un petit traitement,
en cours de procédure j'ai fait ceci

Range("plage").Select
For Each c In Selection
coul= c.Interior.ColorIndex
if coul=.........etc.
etc.
etc.
next
Le problème c'est que la couleur de fond de mes cellules étant issu de MFC
,c.Interior.ColorIndex me renvoi la couleur du fond d'origine et pas celle
après MCF.
Y a t-il une solution
Merci
A+
Yan





Avatar
yan
Merci pour ton aide
Mais avec sommeprod je sais faire également
C'était pas la question!!!
Si effectivement tu savait que l'on ne peut pas récupérer la couleur de fond
issu d'une MFC fallait le dire des le départ!!
bonne soirée
Yan


"Jacky" a écrit dans le message de news:
%23SNA%
re...
Je pourrai faire mon traitement en regardant si la valeur de la cellule
se termine par "f", "m",ou "d", et là je sais le faire
C'est cela qu'il faut faire en VBA :-)


mais avec la couleur de fond je n'y arrive pas
Parce que l'on ne peut pas :-(((


Mais pas vraiment besoin de VBA,.........
dans une cellule tu peux faire par exemple pour "f"
=SOMMEPROD((DROITE(plage;1)="f")*(plage<>""))
idem pour "m" et "d"
--
Salutations
JJ


"yan" a écrit dans le message de news:
45c4a0ca$0$5097$
En fonction de ce que j'écris dans la cellule elle peut etre:
verte
orange
rouge
ce que j'écris est sans importance mais se termine toujours soit par un
"f", un "m", ou un "d"
condition (1) si la formule est =DROITE(B1;1)="f" format vert
condition (2) si la formule est =DROITE(B1;1)="m format orange
condition (3) si la formule est =DROITE(B1;1)="d" format rouge
Lorsque "each c in selection" scanne les cellules comment récupérer la
couleur du fond issu d'une MFC!!!
Je pourrai faire mon traitement en regardant si la valeur de la cellule
se termine par "f", "m",ou "d", et là je sais le faire mais avec la
couleur de fond je n'y arrive pas
Merci


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

Re...
Quelle est la formule dans la feuille au:
Menu / format / mise en forme conditionnelle
Qui peinturlure les cellules ???
--
Salutations
JJ


"yan" a écrit dans le message de news:
45c49741$0$25951$
C'est a dire?

j'avais remplacé coul= c.Interior.ColorIndex par
c.Format.Condition.Interior.ColorIndex mais ça marche pas
la couleur d'une cellule pouvant soit etre celle de la couleur
d'origine
ou condition (1), ou condition (2), ou condition (3)


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

Bonjour,

Y a t-il une solution
Utiliser la même condition que celle utilisée pour la MFC


--
Salutations
JJ


"yan" a écrit dans le message de news:
45c48dce$0$25951$
Bonjour a tous
Souhaitant récupérer la couleur de fond des cellules d'une plage afin
de faire un petit traitement,
en cours de procédure j'ai fait ceci

Range("plage").Select
For Each c In Selection
coul= c.Interior.ColorIndex
if coul=.........etc.
etc.
etc.
next
Le problème c'est que la couleur de fond de mes cellules étant issu
de MFC ,c.Interior.ColorIndex me renvoi la couleur du fond d'origine
et pas celle après MCF.
Y a t-il une solution
Merci
A+
Yan
























Avatar
Jacky
Re.....

C'était pas la question!!!



Pourtant la question était:
Y a t-il une solution



Désolé de t'en avoir proposée 2 que tu connaissais déjà....

JJ

"yan" a écrit dans le message de news:
45c4de8e$0$27375$
Merci pour ton aide
Mais avec sommeprod je sais faire également
C'était pas la question!!!
Si effectivement tu savait que l'on ne peut pas récupérer la couleur de
fond issu d'une MFC fallait le dire des le départ!!
bonne soirée
Yan


"Jacky" a écrit dans le message de news:
%23SNA%
re...
Je pourrai faire mon traitement en regardant si la valeur de la cellule
se termine par "f", "m",ou "d", et là je sais le faire
C'est cela qu'il faut faire en VBA :-)


mais avec la couleur de fond je n'y arrive pas
Parce que l'on ne peut pas :-(((


Mais pas vraiment besoin de VBA,.........
dans une cellule tu peux faire par exemple pour "f"
=SOMMEPROD((DROITE(plage;1)="f")*(plage<>""))
idem pour "m" et "d"
--
Salutations
JJ


"yan" a écrit dans le message de news:
45c4a0ca$0$5097$
En fonction de ce que j'écris dans la cellule elle peut etre:
verte
orange
rouge
ce que j'écris est sans importance mais se termine toujours soit par un
"f", un "m", ou un "d"
condition (1) si la formule est =DROITE(B1;1)="f" format vert
condition (2) si la formule est =DROITE(B1;1)="m format orange
condition (3) si la formule est =DROITE(B1;1)="d" format rouge
Lorsque "each c in selection" scanne les cellules comment récupérer la
couleur du fond issu d'une MFC!!!
Je pourrai faire mon traitement en regardant si la valeur de la cellule
se termine par "f", "m",ou "d", et là je sais le faire mais avec la
couleur de fond je n'y arrive pas
Merci


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

Re...
Quelle est la formule dans la feuille au:
Menu / format / mise en forme conditionnelle
Qui peinturlure les cellules ???
--
Salutations
JJ


"yan" a écrit dans le message de news:
45c49741$0$25951$
C'est a dire?

j'avais remplacé coul= c.Interior.ColorIndex par
c.Format.Condition.Interior.ColorIndex mais ça marche pas
la couleur d'une cellule pouvant soit etre celle de la couleur
d'origine
ou condition (1), ou condition (2), ou condition (3)


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

Bonjour,

Y a t-il une solution
Utiliser la même condition que celle utilisée pour la MFC


--
Salutations
JJ


"yan" a écrit dans le message de news:
45c48dce$0$25951$
Bonjour a tous
Souhaitant récupérer la couleur de fond des cellules d'une plage
afin de faire un petit traitement,
en cours de procédure j'ai fait ceci

Range("plage").Select
For Each c In Selection
coul= c.Interior.ColorIndex
if coul=.........etc.
etc.
etc.
next
Le problème c'est que la couleur de fond de mes cellules étant issu
de MFC ,c.Interior.ColorIndex me renvoi la couleur du fond d'origine
et pas celle après MCF.
Y a t-il une solution
Merci
A+
Yan




























Avatar
cousinhub
Bonsoir,
effectivement,si tu connais tout, faut pas poser de questions.
Sache que toutes les personnes qui te répondent sont des utilisateurs
comme toi d'Excel, et qu'elles prennent sur leur temps pour rendre
service. Faire une réponse de ce genre rend le bénévolat bien moins
agréable, alors :
....fallait le dire des le départ!!
n'est-il pas un peu de trop dans ta réponse?


Merci pour ton aide
Mais avec sommeprod je sais faire également
C'était pas la question!!!
Si effectivement tu savait que l'on ne peut pas récupérer la couleur de fond
issu d'une MFC fallait le dire des le départ!!
bonne soirée
Yan


"Jacky" a écrit dans le message de news:
%23SNA%
re...
Je pourrai faire mon traitement en regardant si la valeur de la cellule
se termine par "f", "m",ou "d", et là je sais le faire
C'est cela qu'il faut faire en VBA :-)


mais avec la couleur de fond je n'y arrive pas
Parce que l'on ne peut pas :-(((


Mais pas vraiment besoin de VBA,.........
dans une cellule tu peux faire par exemple pour "f"
=SOMMEPROD((DROITE(plage;1)="f")*(plage<>""))
idem pour "m" et "d"
--
Salutations
JJ


"yan" a écrit dans le message de news:
45c4a0ca$0$5097$
En fonction de ce que j'écris dans la cellule elle peut etre:
verte
orange
rouge
ce que j'écris est sans importance mais se termine toujours soit par un
"f", un "m", ou un "d"
condition (1) si la formule est =DROITE(B1;1)="f" format vert
condition (2) si la formule est =DROITE(B1;1)="m format orange
condition (3) si la formule est =DROITE(B1;1)="d" format rouge
Lorsque "each c in selection" scanne les cellules comment récupérer la
couleur du fond issu d'une MFC!!!
Je pourrai faire mon traitement en regardant si la valeur de la cellule
se termine par "f", "m",ou "d", et là je sais le faire mais avec la
couleur de fond je n'y arrive pas
Merci


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

Re...
Quelle est la formule dans la feuille au:
Menu / format / mise en forme conditionnelle
Qui peinturlure les cellules ???
--
Salutations
JJ


"yan" a écrit dans le message de news:
45c49741$0$25951$
C'est a dire?

j'avais remplacé coul= c.Interior.ColorIndex par
c.Format.Condition.Interior.ColorIndex mais ça marche pas
la couleur d'une cellule pouvant soit etre celle de la couleur
d'origine
ou condition (1), ou condition (2), ou condition (3)


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

Bonjour,

Y a t-il une solution
Utiliser la même condition que celle utilisée pour la MFC


--
Salutations
JJ


"yan" a écrit dans le message de news:
45c48dce$0$25951$
Bonjour a tous
Souhaitant récupérer la couleur de fond des cellules d'une plage afin
de faire un petit traitement,
en cours de procédure j'ai fait ceci

Range("plage").Select
For Each c In Selection
coul= c.Interior.ColorIndex
if coul=.........etc.
etc.
etc.
next
Le problème c'est que la couleur de fond de mes cellules étant issu
de MFC ,c.Interior.ColorIndex me renvoi la couleur du fond d'origine
et pas celle après MCF.
Y a t-il une solution
Merci
A+
Yan























1 2