Ok, pour ne pas lancer le script depuis l'éditeur : je comprends ton explication puisqu'il s'agit d'un auto-exécutable.
Voici le lien de mon fichier (c'est un fichier pour jouer, les infos sont factices).
C'est un lien pour les étudiants : tu ne peux accéder qu'aux cellule de F5:K45 de chaque feuille.
Si tu as besoin d'un niveau supérieur, fais-moi signe.
Pour rappel,
le but est que certains étudiants font des "copier coller" ce qui peut parfois modifier mon format de tableau (bordures, couleurs,...).
=> j'ai crée un onEdit () qui reformat le tableau à chaque fois qu'une cellule est complétée par un étudiant.
Mon besoin est que si une cellule est complétée, le curseur se positionne sur la cellule suivante à droite (plus sur H3 comme je le fais déjà).
Les lignes 1 à 4 et 35 sont celles que tu m'as proposées d'ajouter.
https://docs.google.com/spreadsheets/d/1ObpHc-2mZOJN7OiRmISdTx4lay_s3oau53jqQBhgqWY/edit?usp=sharing
J'espère avoir bien expliqué... pas toujours facile.
function onEdit(event) {
var sh = event.source.getActiveSheet();
var rng = event.source.getActiveRange();
if (rng.getColumn() >= 6 && rng.getColumn() <= 10) {
var spreadsheet = SpreadsheetApp.getActive();
var app = SpreadsheetApp;
var feuille = app.getActiveSpreadsheet().getActiveSheet();
var cellule_a_tester = feuille.getRange(1,5).getValue();
if (cellule_a_tester == 'Modifiable') {
spreadsheet.getRange('F5:K45').activate();
spreadsheet.getActiveRangeList()
.setBorder(true, null, true, true, null, null, '#000000', SpreadsheetApp.BorderStyle.SOLID_THICK)
// haut, gauc, bas , droi, vert, hori, couleur ,
.setBorder(null, true, null, null, null, null, '#000000', SpreadsheetApp.BorderStyle.DOUBLE)
.setBorder(null, null, null, null, true, true, '#000000', SpreadsheetApp.BorderStyle.DOTTED)
.setHorizontalAlignment('center')
.setVerticalAlignment('middle')
.setBackground(null)
.setFontFamily('Calibri')
.setFontSize(12)
.setFontColor('#000000');
spreadsheet.getRange('H3').activate();
};
sh.setActiveSelection(rng.offset(0, 1).getA1Notation());
}
}