Merci, j'ai essayé, alors 3 choses :
1. quand je fais
int ret2 = (int)sqlCmdImportAppli.ExecuteScalar();
ça me retourne la valeur d'une variable qui existe effectivement quelquepart dans la procédure, mais pas du tout la valeur de @CODE_RETOUR. 
2. je me suis aperçu que si je supprime la valeur par défaut, l'exception
La procédure ou fonction 'sps_AuchanImportApplications' attend le paramètre '@CODE_RETOUR', qui n'a pas été fourni.
est levée sur le ExecuteNonQuery() !
Peut-être un problème de passage de paramètre en fait plutôt, non ?
3. (peut-être en rapport avec le 2.) à quoi servent les @ dans le code c# ? sont-ils obligatoires ?
Partager