i couldnt find the creating a copy of a dataasset but i found a method called ReinitializeProperties. it works fine :
void APEHrk_Humanoid::BeginPlay()
{
UPEBag* Bag_ = Bag;
Bag = new UPEBag(FPostConstructInitializeProperties());
if (Bag_)
Bag->ReinitializeProperties(Bag_);
Super::BeginPlay();
}