Почему выводится предупреждение Warning: Missing argument?
Эта Очень Сложная проблема относится к области арифметики.
Доставай свои счетные палочки, сейчас будем её решать.

Идем в определение функции setTypeVehicule()  и считаем сколько в неё надо передать параметров:
$libelle, один
$prix, два
$pric, три
$image четыре!

дальше идем  в вызов этой функции, и считаем, сколько на самом деле передаём
$_POST['libelle_type_vehicule'], один
$_POST['price_vehicule'], два
$newfilename три!

Три не равно четыре, а это значит что одного параметра не хватает
Ну так у вас функция имеет 4 обязательных аргумента:
function setTypeVehicule($libelle,$prix,$pric,$image) // 4 аргумента на входе

, а вы вызываете ее с тремя:
$res = setTypeVehicule($_POST['libelle_type_vehicule'],$_POST['price_vehicule'],<b>ГДЕ АРГУМЕНТ PRICE?</b>,$newfilename);