Mise en forme conditionnelle avec formule

C@thy

XLDnaute Barbatruc
Bonjour le fofo,

j'ai réussi à faire une mfc qui me repère les lignes dont la colonne E contient plusieurs fois une chaine de caractères (nommée chaine) dans la même cellule. Je colore en jaune la colonne B, jusque là c'est parfait... (exemple joint)

mais, C@thy étant toujours C@thy (on ne change pas les rayures du zèbre...:rolleyes:), il m'en faut encore un peu plus:eek:,
à savoir que j'aimerais mettre aussi en jaune les autres valeurs de la colonne B qui sont égales à la valeur mise en jaune quelle que soit la valeur de la colonne A... (donc tous les codes identiques en B à celui peint en jaune)...

Est-ce possible???

Question subsidiaire, liée :

il va me falloir refaire cette opération pour plusieurs chaines de caractères différentes, ne vaut-il pas mieux écrire une ch'tite macro qui demanderait la chaîne à chaque fois???*

Un très grand Merci pour votre aide.

Bises​
 

Fichiers joints

Dernière édition:

job75

XLDnaute Barbatruc
Re : ise en forme conditionnelle avec formule

Bonjour C@thy, on ne s'est pas vu depuis un bout de temps :)

A priori j'utiliserais pour la MFC :

Code:
=CHERCHE($I$1&"*"&$I$1;$E1)
Pour le reste pas de solution pour l'instant.

A+
 

C@thy

XLDnaute Barbatruc
Re : ise en forme conditionnelle avec formule

Merci Gérard... oui ça fait un moment...:)

pas tout bien compris, mais je vais essayer ce que tu me dis

@+

C@thy
 

job75

XLDnaute Barbatruc
Re : ise en forme conditionnelle avec formule

Re,

Si j'ai bien compris ta 2ème question, formule de la MFC sur B1:B12 :

Code:
=OU(($B1=$B$1:$B$12)*ESTNUM(CHERCHE($I$1&"*"&$I$1;$E$1:$E$12)))
A+
 

Marcel32

XLDnaute Accro
Re : ise en forme conditionnelle avec formule

Bonjour,

Oups, erreur de ma part : je croyais avoir trouvé une formule qui fonctionnait, mais en fait j'utilisais une colonne supplémentaire... Désolé.
 
Dernière édition:

herve62

XLDnaute Barbatruc
Re : ise en forme conditionnelle avec formule

Bonjour
J'ai fait une appli avec ce cas > les MFC par macro
J'ai une solution car le code VBA pour connaitre la couleur via la MFC est pas piqué des hannetons , mais je l'ai , autant que cela serve !! ( c'est au travers de fonctions) . les "Interior.ColorIndex" de base ne marchent pas !
j'essaye de l'appliquer dans ce cas , il y a pas erreur ..mais ça marche pas ; je cherche car mon appli , elle , marche bien ??
Ca interesse ? , sinon j'arrête de chercher
 

job75

XLDnaute Barbatruc
Re : ise en forme conditionnelle avec formule

Re, hello Marcel32, herve62,

Pour la dernière question,

il va me falloir refaire cette opération pour plusieurs chaines de caractères différentes, ne vaut-il pas mieux écrire une ch'tite macro qui demanderait la chaîne à chaque fois???
Pourquoi une macro ?? Tape le texte désiré en I1, c'est tout.

A+
 

Marcel32

XLDnaute Accro
Re : ise en forme conditionnelle avec formule

Pourquoi une macro ?? Tape le texte désiré en I1, c'est tout.
Je crois que C@thy parle là de la deuxième partie de son problème : mettre en couleur tous les textes de la colonne B identiques à ceux qui sont déjà mis en couleur par la première partie du problème.
 

herve62

XLDnaute Barbatruc
Re : ise en forme conditionnelle avec formule

Job , j'ai testé ta formule > OK
Mais ensuite "met le texte en I1" ??? je vois pas , ca marche pas
Bon moi et les formules Ca fait 2 , même si MISANGE a tenté de me former il y a qq années !!!!!
 

job75

XLDnaute Barbatruc
Re : ise en forme conditionnelle avec formule

Re Marcel,

Je crois que C@thy parle là de la deuxième partie de son problème : mettre en couleur tous les textes de la colonne B identiques à ceux qui sont déjà mis en couleur par la première partie du problème.
J'ai réglé ça par MFC au post #4, c'est la cellule I1 qui la pilote.

A+
 

Marcel32

XLDnaute Accro
Re : ise en forme conditionnelle avec formule

J'ai vu ton post, mais je crois que ça ne fonctionne pas.

Il manque peut-être quelque chose à l'intérieur du OU ?



Du coup je propose mon idée de départ :
- en C1 mettre la formule =SIERREUR(CHERCHE($I$1&"*"&$I$1;$E1);0)
- le critère de la MFC est alors : =SOMMEPROD((C$1:C$12>0)*(B$1:B$12=B1))
 
Dernière édition:

C@thy

XLDnaute Barbatruc
Re : ise en forme conditionnelle avec formule

Merci à tous.

Vais tester. Oui herve62 ça m'intéresse, tu peux poster ta macro qui ne marche pas, on pourra sans doute en tirer quelque chose.

Oui Gérard on peut faire sans macro, mais avec la macro on pourrait attribuer une couleur à une chaîne de caractères si tu vois ce que je veux dire...

Bizz

C@thy
 

Marcel32

XLDnaute Accro
Re : ise en forme conditionnelle avec formule

Pour moi c'est même un Magicien !

Je me demande comment fonctionne ce OU !?!...
 

job75

XLDnaute Barbatruc
Re : ise en forme conditionnelle avec formule

Re,

Il est peut-être bon que je précise une chose, si l'on n'a pas bien compris.

La formule de la MFC :

Code:
=OU(($B1=$B$1:$B$12)*ESTNUM(CHERCHE($I$1&"*"&$I$1;$E$1:$E$12)))
est une formule matricielle.

Mais dans une MFC (comme dans un nom défini) pas besoin de valider pas Ctrl+Maj+Entrée :rolleyes:

A+
 

herve62

XLDnaute Barbatruc
Re : ise en forme conditionnelle avec formule

Je joins ce que j'ai commencé à faire
Dans mon appli cela servait à contrôler et compter des dates dans des cellules de couleurs , en formules à la main ???
il aurait fallu ...euh !!!! donc il fallait passer par VBA ( et comme j'aime bien )
en Debug ce que j'ai remarqué c'est dans la fonction CouleurMFC ,
Select Case LoMFC.Operator qui provoque une erreur 1004 ( j'ai oté Resume next)
dans l'autre fichier ca va ; mais je ne maîtrise pas totalement cette fonction
Là je cherchais à mettre en jaune une case en blanc SI elle avait le même contenu qu'une en jaune
 

Fichiers joints

job75

XLDnaute Barbatruc
Re : ise en forme conditionnelle avec formule

Re,

Quant au fonctionnement de OU sur une matrice, testez donc :

=OU({0;0;0;0}) => =OU({FAUX;FAUX;FAUX;FAUX}) => FAUX

=OU({0;0;1;0}) => =OU({FAUX;FAUX;VRAI;FAUX}) => VRAI

A+
 

Discussions similaires


Haut Bas