XL 2010 Priorité sur MFC

vgendron

XLDnaute Barbatruc
Bonjour à toutes et tous

J'ai une question, juste pour le plaisir... (j'ai bien une idée de la réponse.. mais. on ne sait jamais.. comme j'en apprend tous les jours :):) )
Est il possible d'appliquer une coloration d'une cellule qui soit prioritaire sur une MFC appliquée sur cette même cellule ??

dans mon fichier joint
j'applique une MFC qui colore en rose les cellules NON vide==> ca fait office de "coloration par défaut"
MAIS dans une macro (absente du fichier), j'ai la possiblité de colorer en rouge orange ou vert la cellule (non vide) ==> ca veut dire que j'ai une cellule "NON vide" que je n'ai pas encore traitée niveau coloration..

en colonne B: la MFC colore en rose "B2" car non vide, mais la coloration verte que j'ai mise à la main n'apparait pas (à la place de ma macro absente) ==> la MFC est prioritaire==> si on efface le contenu de la cellule B2: le vert apparait bien

une idée? une réponse sans appel ? :)
 

Pièces jointes

  • EcraserMFC.xlsm
    25.1 KB · Affichages: 4

TooFatBoy

XLDnaute Barbatruc
Bonjour,

J'imagine que la réponse que tu vois arriver à grands pas est "NON".
Perso, c'est aussi ce que je dirais.

Mais il doit bien y avoir un moyen de contourner ton problème. ;)

Est-ce que tu as essayé de penser en logique inverse ?
 
Dernière édition:

vgendron

XLDnaute Barbatruc
Hello

Si si, ca répond,
à bien y réfléchir, c'est un peu comme si je voulais mettre une valeur dans une cellule qui contient une formule SANS pour autant effacer la formule (la seule solution serait de remettre la formule par évènement change)...
 

GALOUGALOU

XLDnaute Accro
bonsoir le forum, bonsoir toofatboy, re vgendron
Libre interprétation de la problématique, je ne sais pas si ça peu t'aider, mais bon, j'apporte ma petite pierre à l'édifice.
VB:
Sub test()
Dim C As Range
'------------------------
For Each C In Range("b2:b11").Cells
If C.Interior.ColorIndex = "43" Then
C.FormatConditions.Delete
Else
Range("b2:b11").FormatConditions.Add(Type:=xlExpression, Formula1:="=NBCAR(SUPPRESPACE(B2))>0").Interior.ColorIndex = 40
End If
Next
'--------------------------------
For Each C In Range("c2:c11").Cells
If C.Interior.ColorIndex = "3" Then
C.FormatConditions.Delete
Else
Range("c2:c11").FormatConditions.Add(Type:=xlExpression, Formula1:="=NBCAR(SUPPRESPACE(C2))>0").Interior.ColorIndex = 40
End If
Next
'----------------------------------
For Each C In Range("H2:H11").Cells
If C.Interior.ColorIndex = "44" Then
C.FormatConditions.Delete
Else
Range("H2:H11").FormatConditions.Add(Type:=xlExpression, Formula1:="=NBCAR(SUPPRESPACE(H2))>0").Interior.ColorIndex = 40
End If
Next
End Sub
cdt
galougalou
 

Pièces jointes

  • EcraserMFC.xlsm
    27.1 KB · Affichages: 0

dysorthographie

XLDnaute Accro
Bonjour,
Je n'ai pas fait de teste pour traiter le ca qui nous préoccupe, mais il est possible d'évaluer une mise en forme conditionnelle avec le résultat d'une fonction !
Si FCouleur (cellule) =false alors Rose !

La fonction peut retourner autres choses que true/false si la MFC a besoin d'évaluer plusieurs conditions !
 
Dernière édition:

Statistiques des forums

Discussions
315 093
Messages
2 116 130
Membres
112 667
dernier inscrit
foyoman