Switch on integer

Do you have any idea what is wrong with my BP ?
As you can see I create a function to change the material of tagged actors. The result of this, is a random set of the 3 materials on the actors (instead of getting only the material of integer 1, then only material of integer 2 etc…).

It’s actually working if there is only one actor which get the Tag. If i have more actors, every one of them get a different “set material” randomly. I’m a beginner, if someone can read my blueprint to explain me why it’s appears randomly. And do you know if there is a way to connect my “for each loop” directly to the target of the “set material” ? (they are static mesh actors). Thanks