upload images on front by user using form

If all you do is update ACF fields with your form, why not use the built-in function to generate the form? Create a new ACF field for the images, or simply use the Gallery field type, then display the form using acf_form:

<?php acf_form(array(
    'post_id'       => 'new_post',
    'new_post'      => array(
        'post_type'     => 'vendre',
        'post_status'       => 'publish'
    ),
    'return' => '%post_url%',
    'submit_value'      => 'Create'
)); ?>

This will render a complete form with all of the fields groups that you created in ACF that has the Vendre post type defined. So you don’t have to bother creating a form manually, validating them and handle image uploads, everything works out of the box.

You can use the post_title paramter to display a title field in the form. If you want to generate a title based on the other fields submitted(like your code above), you can do something like this:

//Change title on create
function vendre_title_on_save( $data, $postarr ) {

    if($data['post_type'] == 'vendre' && !empty($_POST['acf'])) {

        $nom = $_POST['acf']['field_546f22db11f3e'];
        $prenom = $_POST['acf']['field_546f22e011f3f'];
        $title = $nom.' '.$prenom;

        $data['post_title'] = $title;
    }

    return $data;
}
add_filter('wp_insert_post_data', 'vendre_title_on_save', 90, 2 );

To set the tags or taxonomy terms for the posts, simple create a new field in your ACF Field group using the Taxonomy field type and make sure the “Load value based on the post’s terms and update the post’s terms on save” option is checked. This way your taxonomy select will be included in the acf_form and the value will be updated on your post too.