Bonjour,
Le plus simple est de faire un script en 2 parties, la première se déclenche à chaque modification sur le fichier et si repère que la modification est faite sur la cellule A1 de l'onglet sommaire, lance un second script pour rediriger vers l'onglet.
Voici un fichier test fonctionnel : https://docs.google.com/spreadsheets/d/1a63P1xHq7UxpCw6jVXBneOkd4Bd62Mj6Eo9lD_gwsQg/edit?usp=sharing
Voici l'explication sur script :
1, on fait le script qui teste après chaque modification dans le fichier si c'est la liste déroulante qui est modifiée :
function onEdit(e) {
const sheet = e.range.getSheet(); // on stocke le nom de la feuille où a eu lieu la modif.
const range = e.range;// on stocke la cellule où a eu lieu la modif.
if(sheet.getName() === "sommaire" && range.getA1Notation() === 'A1'){ // on test si le nom de la feuille = sommaire et si la cellule = A1, si oui, on passe a la suite, sinon, le script s'arrête.
var choice = range.getValue(); // on stocke ce qu'il y a en A1 dans une variable
moveTo(choice) // on lance la fonction moveTo en y envoyant comme argument le choix précédemment stockée
}
}
2, si oui, on utilise la valeur choisie dans la liste déroulante pour s'y déplacer :
function moveTo(choice){
const ss = SpreadsheetApp.getActiveSpreadsheet(); // on stocke le fichier actif
var sheetDest = ss.getSheetByName(choice); // on stocke la feuille de destination
try{sheetDest.activate() // on essaie d'ouvrir la feuille de destination
}catch(e){ // en cas d'erreur on exécute la ligne ci-dessous
SpreadsheetApp.getUi().alert("Erreur : impossible de se déplacer vers l'onglet "+choice+" vérifiez si celui ci existe bien.") // on affiche un message d'erreur.
}
}