diff --git a/modules/visa/class/class_modules_tools_Abstract.php b/modules/visa/class/class_modules_tools_Abstract.php
index 65b72a9157a9deab6f45bda09cca6f7212aadac0..ade4df126041841f70aaff4d4164ebf800630238 100755
--- a/modules/visa/class/class_modules_tools_Abstract.php
+++ b/modules/visa/class/class_modules_tools_Abstract.php
@@ -623,7 +623,17 @@ abstract class visa_Abstract extends Database
 									$modif = 'false';
 								}
 
-
+								$info_vised .= '<select style="display:none;" id="signRequest_'.$i.'" '.$isAllAttachementSigned;
+								$info_vised .= ' disabled="disabled" ';
+								$info_vised .= '>';
+								$info_vised .= '<option value="false">'._VISA_USER_SEARCH.'</option>';
+	 
+								$info_vised .= '<option value="true"';
+								if (!empty($info_userVis['requested_signature'])) {
+									$info_vised .= ' selected="selected" ';
+								}
+								$info_vised .= '>'._SIGNATORY.'</option>';
+								$info_vised .= '</select>';
 
                             }else{
 							   $dropZone = '<i class="fa fa-exchange fa-2x fa-rotate-90" aria-hidden="true" title="'._DRAG_N_DROP_CHANGE_ORDER.'" style="cursor: pointer"></i>';
@@ -638,16 +648,20 @@ abstract class visa_Abstract extends Database
                                     $del_vis = '';
                                     $disabled = ' disabled="disabled"';
                                }
+							   
+							   	$info_vised = '<br/><select id="signRequest_'.$i.'" '.$isAllAttachementSigned;
+							   	if (!empty($info_userVis['signatory'])) {
+									$info_vised .= ' disabled="disabled" ';
+								}
+								$info_vised .= '>';
+							   $info_vised .= '<option value="false">'._VISA_USER_SEARCH.'</option>';
 
-
-                               $info_vised = '<br/><sub><label for="signRequest_'.$i.'">Signature demandée</label> <input id="signRequest_'.$i.'" style="width:auto;" type="checkbox" '.$isAllAttachementSigned;
+							   $info_vised .= '<option value="true"';
 							   if (!empty($info_userVis['requested_signature'])) {
-								   $info_vised .= 'checked="true" ';
-							   }
-							   if (!empty($info_userVis['signatory'])) {
-									$info_vised .= 'disabled="disabled" ';
+									$info_vised .= ' selected="selected" ';
 								}
-							   $info_vised .= '></sub>';
+							   $info_vised .= '>'._SIGNATORY.'</option>';
+							   $info_vised .= '</select>';
                                $link_vis = 'hourglass-half';
                             }
                             
@@ -662,30 +676,42 @@ abstract class visa_Abstract extends Database
                             
                             $disabled = ' disabled="disabled"';
 							if(preg_match("/\[DEL\]/", $info_userVis['process_comment'])){
-								
-								$info_vised = '<br/><sub><label for="signRequest_'.$i.'">Signature demandée</label> <input id="signRequest_'.$i.'" style="width:auto;" type="checkbox" '.$isAllAttachementSigned;
-								if (!empty($info_userVis['requested_signature'])) {
-									$info_vised .= 'checked="true" ';
-								}
+								$info_vised = '<br/><select id="signRequest_'.$i.'" '.$isAllAttachementSigned;
 								if (!empty($info_userVis['signatory'])) {
-									$info_vised .= 'disabled="disabled" ';
+									$info_vised .= ' disabled="disabled" ';
+								}
+								$info_vised .= '>';
+								$info_vised .= '<option value="false">'._VISA_USER_SEARCH.'</option>';
+
+								$info_vised .= '<option value="true"';
+								if (!empty($info_userVis['requested_signature'])) {
+									$info_vised .= ' selected="selected" ';
 								}
-								$info_vised .= '></sub>';
+								$info_vised .= '>'._SIGNATORY.'</option>';
+								$info_vised .= '</select>';
 								$link_vis = 'times';
 								$vised = ' moved vised';
 								$del_vis = '<i class="fa fa-trash" aria-hidden="true" onclick="delVisaUser(this.parentElement.parentElement);" title="'._DELETE.'"></i>';
 							}else{
 								if (!empty($info_userVis['signatory'])) {
 									$info_vised = '<br/><sub>signé le : '.functions::format_date_db($info_userVis['process_date'],'','',true).'</sub>';
-									$info_vised .= '<input id="signRequest_'.$i.'" style="width:auto;display:none;" type="checkbox" '.$isAllAttachementSigned;
-									$info_vised .= 'checked="true" ';
-									$info_vised .= 'disabled="disabled" ';
+									$info_vised .= '<br/><select id="signRequest_'.$i.'" style="width:auto;display:none;" disabled="disabled" '.$isAllAttachementSigned;
 									$info_vised .= '>';
+									$info_vised .= '<option value="false" selected="selected">'._VISA_USER_SEARCH.'</option>';
+	
+									$info_vised .= '<option value="true"';
+									$info_vised .= '>'._SIGNATORY.'</option>';
+									$info_vised .= '</select>';
 								}else{
 									$info_vised = '<br/><sub>visé le : '.functions::format_date_db($info_userVis['process_date'],'','',true).'</sub>';									
-									$info_vised .= '<input id="signRequest_'.$i.'" style="width:auto;display:none;" type="checkbox" '.$isAllAttachementSigned;									
-									$info_vised .= 'disabled="disabled" ';
+
+									$info_vised .= '<br/><select id="signRequest_'.$i.'" style="width:auto;display:none;" disabled="disabled" '.$isAllAttachementSigned;
 									$info_vised .= '>';
+									$info_vised .= '<option value="false">'._VISA_USER_SEARCH.'</option>';
+	
+									$info_vised .= '<option value="true" selected="selected"';
+									$info_vised .= '>'._SIGNATORY.'</option>';
+									$info_vised .= '</select>';
 								}
 								
 								$link_vis = 'check';
@@ -756,6 +782,17 @@ abstract class visa_Abstract extends Database
 							}else{
 								$modif = 'false';
 							}
+							$info_vised .= '<select style="display:none;" id="signRequest_'.$i.'" '.$isAllAttachementSigned;
+							$info_vised .= ' disabled="disabled" ';
+							$info_vised .= '>';
+							$info_vised .= '<option value="false">'._VISA_USER_SEARCH.'</option>';
+ 
+							$info_vised .= '<option value="true"';
+							if (!empty($info_userSign['requested_signature'])) {
+								$info_vised .= ' selected="selected" ';
+							}
+							$info_vised .= '>'._SIGNATORY.'</option>';
+							$info_vised .= '</select>';
 
                         }else{
 							$dropZone = '<i class="fa fa-exchange fa-2x fa-rotate-90" aria-hidden="true" title="'._DRAG_N_DROP_CHANGE_ORDER.'" style="cursor: pointer"></i>';
@@ -771,29 +808,41 @@ abstract class visa_Abstract extends Database
                                 $disabled = ' disabled="disabled"';
                            }
 
+						   $info_vised = '<br/><select id="signRequest_'.$i.'" '.$isAllAttachementSigned;
+						   if (!empty($info_userSign['signatory'])) {
+							   $info_vised .= ' disabled="disabled" ';
+						   }
+						   $info_vised .= '>';
+						   $info_vised .= '<option value="false">'._VISA_USER_SEARCH.'</option>';
 
-                           $info_vised = '<br/><sub><label for="signRequest_'.$i.'">Signature demandée</label> <input id="signRequest_'.$i.'" style="width:auto;" type="checkbox" '.$isAllAttachementSigned;
+						   $info_vised .= '<option value="true"';
 						   if (!empty($info_userSign['requested_signature'])) {
-							   $info_vised .= 'checked="true" ';
+							   $info_vised .= ' selected="selected" ';
 						   }
-						   if (!empty($info_userSign['signatory'])) {
-								$info_vised .= 'disabled="disabled" ';
-							}
-						   $info_vised .= '></sub>';
+						   $info_vised .= '>'._SIGNATORY.'</option>';
+						   $info_vised .= '</select>';
                            $link_vis = 'hourglass-half';
                         }
 
                     }else{
 						$modif = 'false';
                         if (preg_match("/\[DEL\]/", $info_userSign['process_comment'])) {
-							$info_vised = '<br/><sub><label for="signRequest_'.$i.'">Signature demandée</label> <input id="signRequest_'.$i.'" style="width:auto;" type="checkbox" '.$isAllAttachementSigned;
-							if (!empty($info_userSign['requested_signature'])) {
-								$info_vised .= 'checked="true" ';
-							}
+
+							$info_vised = '<br/><select id="signRequest_'.$i.'" '.$isAllAttachementSigned;
 							if (!empty($info_userSign['signatory'])) {
-								$info_vised .= 'disabled="disabled" ';
+								$info_vised .= ' disabled="disabled" ';
+							}
+							$info_vised .= '>';
+							$info_vised .= '<option value="false">'._VISA_USER_SEARCH.'</option>';
+ 
+							$info_vised .= '<option value="true"';
+							if (!empty($info_userSign['requested_signature'])) {
+								$info_vised .= ' selected="selected" ';
 							}
-							$info_vised .= '></sub>';
+							$info_vised .= '>'._SIGNATORY.'</option>';
+							$info_vised .= '</select>';
+
+							$link_vis = 'hourglass-half';
 							$link_vis = 'times';
 							$vised = ' moved vised';
 							$del_vis = '<i class="fa fa-trash" aria-hidden="true" onclick="delVisaUser(this.parentElement.parentElement);" title="'._DELETE.'"></i>';
@@ -802,15 +851,25 @@ abstract class visa_Abstract extends Database
                         	$link_vis = 'check';
                         	if (!empty($info_userVis['signatory'])) {
 								$info_vised = '<br/><sub>signé le : '.functions::format_date_db($info_userSign['process_date'],'','',true).'</sub>';
-								$info_vised .= '<input id="signRequest_'.$i.'" style="width:auto;display:none;" type="checkbox" '.$isAllAttachementSigned;
-								$info_vised .= 'checked="true" ';
-								$info_vised .= 'disabled="disabled" ';
+
+								$info_vised = '<br/><select id="signRequest_'.$i.'" style="width:auto;display:none;" '.$isAllAttachementSigned;
+								$info_vised .= ' disabled="disabled" ';
 								$info_vised .= '>';
+								$info_vised .= '<option value="false">'._VISA_USER_SEARCH.'</option>';
+								$info_vised .= '<option value="true"';
+								$info_vised .= ' selected="selected" ';
+								$info_vised .= '>'._SIGNATORY.'</option>';
+								$info_vised .= '</select>';
 							}else{
 								$info_vised = '<br/><sub>visé le : '.functions::format_date_db($info_userSign['process_date'],'','',true).'</sub>';									
-								$info_vised .= '<input id="signRequest_'.$i.'" style="width:auto;display:none;" type="checkbox" '.$isAllAttachementSigned;
-								$info_vised .= 'disabled="disabled" ';
+
+								$info_vised = '<br/><select id="signRequest_'.$i.'" style="width:auto;display:none;" '.$isAllAttachementSigned;
+								$info_vised .= ' disabled="disabled" ';
 								$info_vised .= '>';
+								$info_vised .= '<option value="false" selected="selected">'._VISA_USER_SEARCH.'</option>';
+								$info_vised .= '<option value="true"';
+								$info_vised .= '>'._SIGNATORY.'</option>';
+								$info_vised .= '</select>';
 							}
 						}
                         
diff --git a/modules/visa/js/functions.js b/modules/visa/js/functions.js
index a08483c3904512ad7717b37725e9ffba1c41679e..02408115d8e5629a2d58a4d8fbb2afd101bdd4e2 100755
--- a/modules/visa/js/functions.js
+++ b/modules/visa/js/functions.js
@@ -5,10 +5,21 @@ function addVisaUser(users) {
         if(nb_visa == 0){
             $j("#emptyVisa").hide();      
         }
+
+        if ($j("select[id^=signRequest_] option:selected[value=true]").length <= 2) {
+            if (!$j('#signRequest_'+nb_visa).is(':disabled')) {
+                $j('#signRequest_'+nb_visa).val("false");
+            }
+            selected = ' selected="selected" ';
+        } else {   
+            selected = '';
+        }
+        
+
         if ($j("#isAllAttachementSigned").val() == 'false') {
-            signRequest = '<br/><sub><label for="signRequest_'+next_visa+'">Signature demandée</label> <input id="signRequest_'+next_visa+'" style="width:auto;" type="checkbox"></sub>'
+            signRequest = '<br/><sub><select id="signRequest_'+next_visa+'"><option value="false">Viseur</option><option value="true" '+selected+'>Signataire</option></select></sub>';
         } else {
-            signRequest = '<br/><sub><label for="signRequest_'+next_visa+'">Signature demandée</label> <input id="signRequest_'+next_visa+'" style="width:auto;" type="checkbox" disabled="disabled"></sub>'
+            signRequest = '<br/><sub><select id="signRequest_'+next_visa+'" disabled="disabled"><option value="false">Viseur</option><option value="true" '+selected+'>Signataire</option></select></sub>';
         }
 
         $j("#visa_content").append('<div class="droptarget" id="visa_' + next_visa + '" draggable="true">'
@@ -42,10 +53,19 @@ function addVisaUser(users) {
         if(nb_visa == 0){
             $j("#emptyVisa").hide();      
         }
+        if ($j("select[id^=signRequest_] option:selected[value=true]").length <= 2) {
+            if (!$j('#signRequest_'+nb_visa).is(':disabled')) {
+                $j('#signRequest_'+nb_visa).val("false");
+            }
+            selected = ' selected="selected" ';
+        } else {   
+            selected = '';
+        }
+
         if ($j("#isAllAttachementSigned").val() == 'false') {
-            signRequest = '<br/><sub><label for="signRequest_'+next_visa+'">Signature demandée</label> <input id="signRequest_'+next_visa+'" style="width:auto;" type="checkbox"></sub>'
+            signRequest = '<br/><sub><select id="signRequest_'+next_visa+'"><option value="false">Viseur</option><option value="true" '+selected+'>Signataire</option></select></sub>';
         } else {
-            signRequest = '<br/><sub><label for="signRequest_'+next_visa+'">Signature demandée</label> <input id="signRequest_'+next_visa+'" style="width:auto;" type="checkbox" disabled="disabled"></sub>'
+            signRequest = '<br/><sub><select id="signRequest_'+next_visa+'" disabled="disabled"><option value="false">Viseur</option><option value="true" '+selected+'>Signataire</option></select></sub>';            
         }
         $j("#visa_content").append('<div class="droptarget" id="visa_' + next_visa + '" draggable="true">'
             +'<span class="visaUserStatus">'
@@ -97,59 +117,58 @@ function resetPosVisa () {
 
 }
 function updateVisaWorkflow(resId) {
-    var $i = 0;
+    var i = 0;
     var userList = [];
-    if (($j("input[id^=signRequest_]:checked").length == 0) && $j(".droptarget").length != 0) {
-        alert("Veuillez demander au moins à une personne de signer")
-    } else {
-        if ($j(".droptarget").length) {
-            $j(".droptarget").each(function () {
-                if ($j("#signRequest_"+($i+1)+":checked").length) {
-                    userRequestSign=true;
-                } else {
-                    userRequestSign=false;
-                }
-                if ($j("#signedUser_"+($i+1)).css('visibility') == 'visible') {
-                    userSignatory=true;
-                } else {
-                    userSignatory=false;
-                }
+    if (($j("select[id^=signRequest_] option:selected[value=true]").length == 0) && $j(".droptarget").length != 0) {
+        $j('#signRequest_'+i).val("true");
+    }
+    if ($j(".droptarget").length) {
+        $j(".droptarget").each(function () {
+            if ($j("#signRequest_"+(i+1)+" option:selected[value=true]").length) {
+                userRequestSign=true;
+            } else {
+                userRequestSign=false;
+            }
+            if ($j("#signedUser_"+(i+1)).css('visibility') == 'visible') {
+                userSignatory=true;
+            } else {
+                userSignatory=false;
+            }
 
-                userId = $j("#" + this.id).find(".userId").val();
-                userConsigne = $j("#" + this.id).find(".consigne").val();
-                userVisaDate = $j("#" + this.id).find(".visaDate").val();
-                userPos = $i;
-                userList.push({userId: userId, userPos: userPos, userConsigne: userConsigne, userVisaDate: userVisaDate, userRequestSign: userRequestSign, userSignatory: userSignatory});
-                $i++;
-            });
-        }
-        $j.ajax({
-           url : 'index.php?display=true&module=visa&page=updateVisaWF',
-           type : 'POST',
-           dataType : 'JSON',
-           data: {
-               resId: resId,
-                userList: JSON.stringify(userList)
-           },
-           success : function(response){
-                if (response.status == 0) {
-                    parent.$('main_info').innerHTML = 'Mise à jour du circuit effectuée';
-                    parent.$('main_info').style.display = 'table-cell';
-                    parent.Element.hide.delay(5, 'main_info');
-                    eval(response.exec_js);
-                    if(parent.$j('.contentShow iframe').length){
-                        parent.$j('.contentShow iframe')[0].contentWindow.location.reload(true);
-                    }
-                } else if (response.status != 1) {
-                    alert(response.error_txt)
-                }
-           },
-           error : function(error){
-               alert(error);
-           }
-    
+            userId = $j("#" + this.id).find(".userId").val();
+            userConsigne = $j("#" + this.id).find(".consigne").val();
+            userVisaDate = $j("#" + this.id).find(".visaDate").val();
+            userPos = i;
+            userList.push({userId: userId, userPos: userPos, userConsigne: userConsigne, userVisaDate: userVisaDate, userRequestSign: userRequestSign, userSignatory: userSignatory});
+            i++;
         });
     }
+    $j.ajax({
+       url : 'index.php?display=true&module=visa&page=updateVisaWF',
+       type : 'POST',
+       dataType : 'JSON',
+       data: {
+           resId: resId,
+            userList: JSON.stringify(userList)
+       },
+       success : function(response){
+            if (response.status == 0) {
+                parent.$('main_info').innerHTML = 'Mise à jour du circuit effectuée';
+                parent.$('main_info').style.display = 'table-cell';
+                parent.Element.hide.delay(5, 'main_info');
+                eval(response.exec_js);
+                if(parent.$j('.contentShow iframe').length){
+                    parent.$j('.contentShow iframe')[0].contentWindow.location.reload(true);
+                }
+            } else if (response.status != 1) {
+                alert(response.error_txt)
+            }
+       },
+       error : function(error){
+           alert(error);
+       }
+
+    });
     
 }
 function saveVisaWorkflowAsModel () {