"although the user has already an edit permission!!!
I checked the ULS logs and the exception was "Original error: System.UnauthorizedAccessException: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))"
After alot of searching, the solution was so simple, go to List settings > Advanced settings, and in the "Item-level Permissions" field, change "Create and Edit access: Specify which items users are allowed to create and edit" to " " ... then save
So Simple ... huh ?!