Bonjour,
J'ai un script dans une feuille (formulaire) qui enregistre (bouton "enregistrer") dans une autre feuille (liste des pb) les valeur affichées dans une plage de données.
(Lien vers mon fichier de travail : https://docs.google.com/spreadsheets/d/11HIs5Vu5PKrNBsP2lcUw-gEwh_WUW1jTxDlaEIjIjI4/edit?usp=sharing)
J'aimerais qu'après avoir recopié les lignes, le script efface les valeurs G6:G50 de la feuille "formulaire".
Les valeurs de la plage G6:G50 sont renseignées par l'opérateur, l'idée est donc de lui épargner d'avoir à effacer ces valeurs lors du passage de l'élève suivant. Cela réduirait aussi le risque d'erreur.
Est-ce possible ? Comment ?
Voici le script :
function enregistrer() {
const fichierSheet = SpreadsheetApp.getActiveSpreadsheet(); // fichier sheet actif
const formulaire = fichierSheet.getSheetByName('formulaire'); // onglet formulaire
const listePb = fichierSheet.getSheetByName('liste des pb'); // onglet liste des pb
var nbLigne = formulaire.getLastRow()-5; // calcule le nombre de ligne du fichier - 6 (car les 1ères données sont en ligne 6)
var detail = formulaire.getRange(6,1,nbLigne,8).getValues(); // met dans une variables les données à partir de la ligne 6, colonne 1 jusqu'à la dernière ligne, colonne 8
var nomPrenom = formulaire.getRange('B3').getValue(); // met la cellule nom prenom dans une variable
var classe = formulaire.getRange('D3').getValue(); // met la cellule classe dans une variable
for (var i = 0; i < detail.length; i++) { // boucle sur le nombre de lignes dans la variable détail
listePb.appendRow([nomPrenom,classe].concat(detail[i])); // insere i lignes du nom prenom, classe + de ligne du détail
}
}