How to use form_set_value for a select list field?
&lt;?php form_set_value($form['field_statut_metier2'][LANGUAGE_NONE], array(0 =&gt; array('value' =&gt; 2)), $form_state); ?&gt;


From the form_set_value() documentation on the first argument:


  you can just pass in the element from the $form array, although the only component that is actually used is '#parents'


Alternatively you can do:

&lt;?php $form_state['values']['field_statut_metier2'][LANGUAGE_NONE][0]['value'] = '2'; ?&gt;


... which is what form_set_value() does anyways.