MEFC (Alternance des couleurs)

filiph79

XLDnaute Occasionnel
Bonjour le forum,

J'ai dans la colonne A une série de codes comme ci dessous :

1029
1029
1029
1035
1035
1064
1064
1064
1064
1064
1111

Je souhaite faire une mise en forme conditionnelle qui me permettra d'alterner 2 couleurs (rouge et blanc) quand le code change (exemple 1029 en rouge, 1035 en blanc, 1064 en rouge, 1111 en blanc).

Je sais alterner couleurs 1 ligne sur 2, ou 1 ligne sur 3, ou 4 en utilisant =MOD(LIGNE();N)=0 mais dans mon exemple il n'y a pas de règle du type 1ligne sur 2 ou 1 ligne sur 3......le nombre de codes identiques est complètement variable.

j'ai donc créer une table de correspondance comme suit :
1029;1
1035;0
1064;1
1111;0
et avec une fonction recherchev je note dans la colonne B le 1 ou 0.
je fais ensuite la MEFC en me basant sur le 1 pour la couleur rouge et le 0 pour la blanche.
Cela fonctionne mais je ne trouve pas cette solution optimisée.
Avez vous une autre solution ??
Merci de vos reponses
 

chris

XLDnaute Barbatruc
Re : MEFC (Alternance des couleurs)

Bonjour

Formule récupérée ici il y a longtemps :
Code:
=EST.PAIR(SOMMEPROD(1/NB.SI($A$2:$A2;$A$2:$A2)))

Edit : alterne les couleurs 1 code sur 2

Si c'est la 1ère ligne que tu veux et que les codes sont triés un simple "cellule différente de celle au dessus" suffit...
 
Dernière édition:

filiph79

XLDnaute Occasionnel
Re : MEFC (Alternance des couleurs)

Merci chris,

c'est exactement ce que je voulais.
PAr contre je comprends pas comment ca fonctionne le nb.SI dans le sommeProd
J'connais NB.SI j'connais SOMMEPROD mais je vois pas bien ce qu'ils font ensemble ?:confused:

Cordialement
 

chris

XLDnaute Barbatruc
Re : MEFC (Alternance des couleurs)

Bonjour

Je ne suis pas hyper agile avec ces cas un peu particuliers mais je pense que SOMMEPROD oblige ici NB.SI à fonctionner en matriciel et à renvoyer le nombre de valeurs par groupe.

Mais sur le détail attendons les spécialistes comme Monique ou R@chid ou Roger (entre autres...)
 

mromain

XLDnaute Barbatruc
Re : MEFC (Alternance des couleurs)

Bonjour Philippe, Chris, le Forum.


Voici une tentative d’explication de la formule. J’omets le EST.PAIR() qui ne sert finalement qu’à contrôler la parité pour se focaliser sur le SOMMEPROD(NB.SI()).

Il faut déjà savoir que le SOMMEPROD ne sert au final qu’à faire la somme d’une matrice.
Il pourrait donc être remplacé par une SOMME forcée en matriciel. Les formules des MFC (tout comme celles du gestionnaire de noms) gérant les formules matricielles (pas besoin de les valider par <Ctrl> + <MAJ> + <Entrée>, elles sont détectées toutes seules), on peut donc remplacer la formule proposée par Chris par :
Code:
=EST.PAIR(SOMME(1/NB.SI($A$2:$A2;$A$2:$A2)))
Pour la tentative d'explications, voici un fichier exemple avec les formules en A4 et A9 décortiquées.

PS : un moyen simple pour décortiquer les formules est d’utiliser la touche F9 au sein de la barre de formules. Par exemple, sélectionner uniquement la partie NB.SI() et l’évaluer avec F9.

A+
Miki
 

Pièces jointes

  • MFC-Alternance des couleurs.xlsx
    12.8 KB · Affichages: 418

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : MEFC (Alternance des couleurs)

Bonjour filiph79, chris, mromain, à tous,

Pour le fun, une petite variation sur la formule de chris que je salue :)

La formule avec SommeProd semble ne pas accepter une répétition de valeurs ailleurs dans la colonne. J'ai essayé de trouver une autre formule de MFC qui autorise cette répétition (bien qu'en général, ce type d'alternance de couleurs se fait, la plupart du temps, sur des données triées!). J'arrive à la formule:
Code:
=EST.PAIR(SOMME(1-($H$2:H2=$H$1:H1)))

nb: la formule ne fonctionne que si les données commencent à la ligne 2 ou plus (à compléter par la suite)
 

Pièces jointes

  • MEFC (Alternance des couleurs) v1.xls
    27 KB · Affichages: 366
Dernière édition:
Bonjour, j'aurai une question.
J'essayais également de trouver comment différencier en fonction de ce qu'il se trouve dans la première colonne.
Par contre, en utilisant la formule, il y a un décalage d'une ligne.
La ligne avant le changement de la première valeur à la seconde valeur est dans la couleur de la seconde valeur.
Pouvez-vous m'aider ?
Merci
 

Discussions similaires

Statistiques des forums

Discussions
312 202
Messages
2 086 180
Membres
103 152
dernier inscrit
Karibu