Sounds like you are looking for records without a preparation date to be in status 'In Preparation' you certainly need to split your condition checks if you want to add another status into the mix.
So perhaps something like:
=if(Len([Commande_sorties_en_lignes2.Date Heure Dernier Traitement Préparation])=0, 'In Preparation',
if(NetWorkDays([Commande_sorties_en_tete.Date Création],[Commande_sorties_en_lignes2.Date Heure Dernier Traitement Préparation] )-1, 'OK','ko')