Bonjour,
Ce n'est pas bien de stocker des informations sous forme de couleur uniquement, sinon pour ta solution un truc qui fera l'affaire:
Dim i As Integer
Dim colec As New Collection
For i = 1 To 1000
On Error Resume Next
colec.Add Cells(i, 1).Interior.ColorIndex, CStr(Cells(i, 1).Interior.ColorIndex)
Next i
Cells(1, 8) = colec.Count
J'utilise une astuce qui est qu'une collection ne peut pas avoir 2 éléments qui possèdent la même clé d'indexation, et en clé j'utilise la couleur (qu'il faut convertir en texte), j'ajoute un on error resume next pour que si la clé est déjà utilisée, ça passe simplement à la ligne suivante. Ainsi, tu auras autant de valeurs dans ta collection que tu auras de couleurs différentes.