Problème de code pour renommer une feuille
Soucis de code ou de nom de référence.
Voici le code
{
const ui = SpreadsheetApp.getUi();
const resultat = ui.prompt('Entrez l année de la nouvelle saison :');
SpreadsheetApp.getUi().alert('La saison choisie est : ' + resultat.getResponseText());
sheet.setName(resultat);
}
Le but est de renommer une feuille dupliquer par une date demandée dans une box
mais voilà le nom que ce code met à ma feuille nouvellement créée.
le top serais de pouvoir ajouter du texte juste avant la réponse demandée.
l'onglet s'appellerait: "Entrainement xxxx" les x étant la réponse demandée
Mais voilà le nom enregistrer cela doit venir d'un mauvais code et je pense que ça doit être la référence du résultat mais je ne connait pas le code à mettre.
Pouvez-vous m'aider pour ce code un grand merci d'avance
mbell
Tu as donné toi-même la réponse à la ligne au-dessus
sheet.setName(resultat.getResponseText());
Bonjour steelson,
J'ai surement du oublier quelque chose car le code indique une erreur
et à la fin me renvoi comme non "copie de la feuille dupliquée" et non l'intitulé encoder
voici le code
function Ns()
{
const ui = SpreadsheetApp.getUi();
const response = ui.alert('⚠️ Création d une nouvelle saison? ⚠️', ui.ButtonSet.YES_NO);
if (response == ui.Button.NO) {
return;
}
var spreadsheet = SpreadsheetApp.getActive();
// Rn(); // retour normal pour copier toute la feuille
spreadsheet.duplicateActiveSheet(); // recopie la feuille en cours
{
const ui = SpreadsheetApp.getUi();
//const resultat = ui.prompt('Entrez l année de la nouvelle saison :');
const resultat = Browser.inputBox('Entrez l année de la nouvelle saison :');
// SpreadsheetApp.getUi().alert('La saison choisie est : ' + resultat.getResponseText());
sheet.setName(resultat.getResponseText());
};
Rn(); // retour normal pour copier toute la feuille
spreadsheet.duplicateActiveSheet(); // recopie la feuille en cours
spreadsheet.getRange('F2:Q3').activate(); // selectionne les dates et lieu a supprimer
spreadsheet.getActiveRangeList().clear({contentsOnly: true, skipFilteredRows: true}); // vide les deux premières ligne
spreadsheet.getRange('F5:Q65').activate(); // selectionne les cellule joueurs
// spreadsheet.setCurrentCell(spreadsheet.getRange('Q5'));
spreadsheet.getActiveRangeList().clear({contentsOnly: true, skipFilteredRows: true}); // Efface les "Absence et Présence" des joueurs
spreadsheet.getRange('F71:Q85').activate(); // selectionne les cellules coachs
spreadsheet.getActiveRangeList().clear({contentsOnly: true, skipFilteredRows: true}); // Efface les "Absence et Présence" des coach
var spreadsheet = SpreadsheetApp.getActive(); // met le nouveau nom, la couleur bleu de l'onglet et place la feuille en 1er
// spreadsheet.getRange('D5').activate();
spreadsheet.getActiveSheet().setTabColor('#0000ff'); // couleur de l'onglet
// spreadsheet.getRange('B22').activate();
// spreadsheet.getActiveSheet().setName('Entrainements paraGolf 20..'); // ***** nom de la feuille
// spreadsheet.getRange('F2').activate();
spreadsheet.moveActiveSheet(1);
// Ps(); // protection de la feuille
Browser.msgBox('⚠️ PROTECTION DE CETTE NOUVELLE SAISON ⚠️'); // message box
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('a1').activate();
var protection = spreadsheet.getActiveSheet().protect(); // protége la feuille
protection.setUnprotectedRanges([spreadsheet.getRange('F71:Q85'), spreadsheet.getRange('F5:Q65')]) // affiche les cellules non protéger pour les coachs
var protection = spreadsheet.getActiveSheet().protect();
protection.setUnprotectedRanges([spreadsheet.getRange('F5:Q65'), spreadsheet.getRange('F71:Q85')]); // protége la feuille
// spreadsheet.getRange('f2').activate();// se place sur la première cellule à remplir
spreadsheet.getRange('a1:b3').clear(); // se place en A1
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet()
var date = Utilities.formatDate(new Date(), "GMT", "dd/MM/yyyy"); // recherche la date
spreadsheet.getRange("A1").setValue(date); // affiche en "A1" la date du jour
spreadsheet.getRange('A1:B3').activate()
.merge();
spreadsheet.getActiveRangeList().setFontSize(18)
// =aujourdui()
spreadsheet.getActiveRangeList().setHorizontalAlignment('right')
.setVerticalAlignment('middle');
spreadsheet.getActiveRangeList().setBackground('#00ffffff'); // blanc
var sheet = SpreadsheetApp.getActiveSheet();
spreadsheet.getRange('f2').activate(); // se place en f2
};
merci d'avance une ultime fois Steelson.
mbell
Je n'avais répondu qu'à la dénomination de la feuille ... et plus généralement ce code ne donne pas d'erreur
function creerNouvelleFeuille() {
const ui = SpreadsheetApp.getUi();
const resultat = ui.prompt('Entrez l année de la nouvelle saison :');
SpreadsheetApp.getUi().alert('La saison choisie est : ' + resultat.getResponseText());
var spreadsheet = SpreadsheetApp.getActive();
var sheet = spreadsheet.duplicateActiveSheet()
sheet.setName(resultat.getResponseText());
}
Pourquoi tu changes ui.prompt
en Browser.inputBox
? ce n'est plus le même sujet du coup ... en tous cas ce n'est plus la même réponse. Je t'ai répondu sur ui.prompt
! et cela fonctionne ...
Bonjour Steelson super le fichier fonctionne nickel merci beaucoup
Je fouille encore un petit peu avant de rendre le projet sur une fonction trouvée par hasard j'ai trouvé un petit calendrier mais je vais faire un nouveau post car sujet différent.
On ce réécrit très bientôt Steelson si tu as une solution pour moi.
mbell