I found a working solution, don't know if bug free
Event OnContainerChanged(ObjectReference akNewContainer, ObjectReference akOldContainer)if akOldContainer == game.getplayer() && akNewContainer && akOldContainer.getdistance(akNewContainer) > 200 && utility.isinMenuMode() do thingsendifEndevent
IF explanation:
akOldContainer == game.getplayer() --> In my script i needed to do it only if sold by player (to adjust sell price on script variable)
&& akNewContainer --> New container is not the world (not dropped)
&& akOldContainer.getdistance(akNewContainer) > 250 --> When you sell an item it is not transfered on the Vendor, but on his container placed in a unreachable place. So if the container is distant enought to not be reached by the player (max 200 circa), the object is not dropped by the player in a chest
&& utility.isinMenuMode() --> A menu (the barter menu) is opened. It's to exclude distant transfers by quest (hoping that no quest do this while a menu in open. here is the probable bug)