Bonjour,
Est-ce que le script ci-dessous limite le nb de lignes prises en compte pour une liste déroulante?
J'essaie d'ajouter un élément dans ma liste déroulante mais il se limite aux éléments mentionnés dans les 15 premières lignes. Comment modifier le script pour que la ligne 16 soit aussi prise en compte?
function onEdit() {
var classeur = SpreadsheetApp.getActiveSpreadsheet();
var feuille = classeur.getActiveSheet();
var maPlage = SpreadsheetApp.getActiveRange();
var dvListe = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("paramètres");
var option = new Array();
var startCol = 0;
if(feuille.getName() == "COMPTA" && maPlage.getColumn() == 11 && maPlage.getRow() > 1){
if(maPlage.getValue() == "frais admin"){
startCol = 7;
} else if(maPlage.getValue() == "formations"){
startCol = 8;
} else if(maPlage.getValue() == "comptabilité"){
startCol = 9;
} else if(maPlage.getValue() == "communication"){
startCol = 10;
} else if(maPlage.getValue() == "locaux"){
startCol = 11;
} else if(maPlage.getValue() == "frais pédagogique"){
startCol = 12;
} else if(maPlage.getValue() == "commercial"){
startCol = 13;
} else if(maPlage.getValue() == "informatique/tel"){
startCol = 14;
} else if(maPlage.getValue() == "divers"){
startCol = 15;
} else {
startCol = 16
}
if(startCol > 0 && startCol < 16){
option = dvListe.getSheetValues(2,startCol,15,1);
var dv = SpreadsheetApp.newDataValidation();
dv.setAllowInvalid(false);
dv.setHelpText("Choisir un site en fonction de " + maPlage.getValue());
dv.requireValueInList(option, true);
feuille.getRange(maPlage.getRow(),maPlage.getColumn() + 1).setDataValidation(dv.build());
}
if(startCol == 16){
feuille.getRange(maPlage.getRow(),maPlage.getColumn() + 1).clearDataValidations();
feuille.getRange(maPlage.getRow(),maPlage.getColumn() + 1).clearContent();
}
}
}