I found the solution with this topic https://answers.unrealengine.com/questions/255016/cast-subclass.html
The problem was that the USkillEffect was not a valid instance… I changed the row:
USkillEffect* SkillEffect = Cast<USkillEffect>(SkillEffects[i]);
for
USkillEffect* SkillEffect = NewObject<USkillEffect>(this->GetOuter(), SkillEffects[i]);
and it worked…
Thanks everyone