I have many cylinders duplicated with an array.
The material emits light.
I need to make the cylinders light up and turn off one after an other in a loop.
Any idea on how to do this?
since the array is an exact copy of the first object, I don't think there is a way to do what I understand you wanna do. What I suggest is copying the object with array (to keep it in case), then apply the array.
Without separating your object and materials, you can animate the light changes with a texture that, depending of the UV, will either light up or not your objects only by keyframing the texture coordinate. So UV unwrap all your cylinders from the front:
OR you can always have multiple objects with different material that are animated independently (probably more time consuming).