Rebonsoir
On peut faire plus simple en n'utilisant qu'une partie de la formule
plage = DECALER(.....;largeur de la plage), celle donnant la largeur de la plage, utilisée dans le fichier précédent. Ainsi dans la fichier en pièce jointe, j'ai mis le nom
contiguesetidentiques = MIN(SI(C4:$V4<>B4;COLONNE(C:$V)))-MAX(SI($A4:A4<>B4;COLONNE($A:A)))-1 qui donne directement le nombre de cellules identiques et contiguës à la cellule en cours sur la ligne en cours.
Par exemple, si B4 fait partie d'un triplet :
* MIN(SI(C4:$V4<>B4;COLONNE(C:$V))) donne le n° de la première colonne après le triplet.
* MAX(SI($A4:A4<>B4;COLONNE($A:A))) calcule le n° de la dernière colonne juste avant le triplet.
La mise en forme se résume donc à
contiguesetidentiques = 2 pour les cellules jaunes,
contiguesetidentiques = 3 pour les cellules vertes, et ainsi de suite. Maintenant, c'est assez court à mon goût (mais pas forcément très simple)
.
Si on ne veut pas faire avec un nom, on peut mettre la définition directement dans la mise en forme, comme dans la seconde pièce jointe ci-dessous.