Excusez-moi de ce retard, je m'étais absenté.
C'est-cela que vous me demandez ?
"'Code.gs"
// Mike Steelson alias Mikhail Staliyevich
// variables :
const nomBdd = 'DonnéesPersonnelles' // nom de la feuille base de données
const col = 2; // colonne à partir de laquelle les données sont enregistrées
const bdd = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(nomBdd);
// création du menu
//function onOpen() {
// SpreadsheetApp.getUi()
// .createMenu('** Base de Données **')
// .addItem('Créer une nouvelle ligne dans la BdD', 'creer')
// .addItem('Modifier première ligne sélectionnée', 'modifier')
// .addToUi();
//}
// formulaire création
function creer() {
const html = HtmlService
.createTemplateFromFile('formCreation')
.evaluate()
.setWidth(400)
.setHeight(850);
SpreadsheetApp.getUi().showModelessDialog(html, 'Ajouter');
}
// formulaire lecture - modification
function modifier() {
if (numLigne()<=1){
Browser.msgBox('Sélectionner une ligne en colonne A !')
}else{
const html = HtmlService
.createTemplateFromFile('formModification')
.evaluate()
.setWidth(400)
.setHeight(850);
SpreadsheetApp.getUi().showModelessDialog(html, 'Modifier');
}
}
// transfert des données de la base de données vers le formulaire modification
function transfererData() {
var ligne = numLigne()
return bdd.getRange(ligne,col,1,bdd.getLastColumn()-col+1).getValues()
}
// numéro de la ligne correspondant la la première case cochée colonne A
// pour transférer les données vers le formulaire modification
// pour enregistrer les données issues de la feuille modification
// pour indiquer au formulaire en commentaire du bouton le n° de ligne en cours de visualisation
function numLigne(){
var f = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet()
var values = f.getRange('A2:A').getValues().join().split(",");
var ligne = values.indexOf('true') + 2;
if (f.getName()==nomBdd){return ligne}else{return 0}
}
// ajout des données en provenance du formulaire création
function ajouterLigne(tab) {
var ligne = bdd.getLastRow() + 1
bdd.getRange(ligne,col,1,tab.length).setValues([tab])
}
// modification des données en provenance du formulaire modification
function modifierLigne(tab) {
var ligne = numLigne()
bdd.getRange(ligne,col,1,tab.length).setValues([tab])
console.log("modification ligne : "+ligne"+" colonne : "+col)
console.log("statut colonne A : "+bdd.getRange(ligne,1).getValue())
}
// permet d'inclure dans les formulaires un autre fichier html, css.html en l'occurence
function rapatrier(filename){
return HtmlService.createHtmlOutputFromFile(filename).getContent();