Bonsoir 
@finarobert 🙂  ,
Quand on exécute la macro, l'erreur qui se produit indique qu'on veut lire un élément de tableau avec des indices qui n'existent pas. Par exemple on a un tableau de 10 éléments et on veut lire le 11 ième élément qui n'existe pas. La macro retourne donc une erreur.
Dans notre cas nous avons un tableau 
tcoul qui comporte 150 lignes. Chaque ligne comporte en colonne 1 une couleur de fond et en colonne 2 la couleur de police à utiliser sur le fond.
Dans votre classeur réel, le traitement aboutit à 
6 207 cas de doublons différents (correspondant à 26 221 cellules qui sont doublons).
Quand la macro détecte le 
151 ième doublon (pas cellule!) , la macro cherche la 
151 couleur de fond (et police) dans le tableau 
tcoul. La macro va donc adresser la ligne 
151 de 
tcoul. Comme 
tcoul ne contient que 
150 lignes, la macro provoque une erreur.
Il est illusoire de faire un tableau 
tcoul avec mettons 7 000 couleurs différentes. Les couleurs seront si proches que l’œil humain ne pourra pas les distinguer les unes des autres.
Ce que j'ai fait :
Quand on arrive au 151 ième doublon, on repart à la ligne 1 de 
tcoul et ainsi de suite.
Autrement dit quand on arrive à la dernière couleur de 
tcoul on repart à la première. Les couleurs des doublons seront les mêmes tous les 150 doublons.
Voir la version jointe.