Renommer son fichier automatiquement
Bonjour à tous et merci de me lire,
j'ai lu sur ce forum que xxxx avait répondu et créer à oceanina sur le post https://forum.excel-pratique.com/sheets/partager-une-portion-seulement-d-un-tableau-168183/2 pour créer ceci
voilà le code qu'il avait fourni mais il ne fonctionne pas chez moi:
var d = Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "yyyy-MM-dd HH:mm");
fichier.setName(' bla bla ..... : ' + d)
et voici le mien j'ai vu qu'il devait être mis sous le onEdit
function onEdit(e) {
// Browser.msgBox(rechercheDate())// test
if (e.range.getColumn() == rechercheDate() && e.range.getRow() >= 5 && e.range.getRow() <= 85) {
var fonction = 'D' + (+e.range.getColumn() - 5)
this[fonction]()
var d = Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "MM-dd HH:mm");
fichier.setName('Test de Marc Entrainement Paragolf mise à jour le ' + d)
SpreadsheetApp.getActiveSpreadsheet().toast('Mise à jour enregistrée');
};
}
rien a faire pas de modification de nom de fichier :(
Qui peut m'aider sur ce sujet, merci d'avance
mbell
Bonjour,
essaie de définir un déclencheur sur la fonction onEdit(e), car tu touches au drive et il faut dans ce cas une autorisation spéciale
regarde les restrictions ici https://developers.google.com/apps-script/guides/triggers
Bonjour Steelson,
ici c'est juste pour la cellule, moi je demandai pour la modification du titre du fichier, mis sur le post de ce site https://forum.excel-pratique.com/sheets/partager-une-portion-seulement-d-un-tableau-168183/2 ce n'est pas expliqué où il faut placer la commande
var d = Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "yyyy-MM-dd HH:mm");
fichier.setName(' bla bla ..... : ' + d)
afin d'obtenir le titre du fichier qui change avec la date.
C'est de ton collègue que le site ne veut pas que je nomme :(
mbell
fichier
n'est pas défini, il faudrait remplacer fichier
par SpreadsheetApp.getActiveSpreadsheet()
essaie (pas testé)
function onEdit(e) {
if (e.range.getColumn() == rechercheDate() && e.range.getRow() >= 5 && e.range.getRow() <= 85) {
var fonction = 'D' + (+e.range.getColumn() - 5)
this[fonction]()
var d = Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "MM-dd HH:mm");
SpreadsheetApp.getActiveSpreadsheet().setName('Test de Marc Entrainement Paragolf mise à jour le ' + d)
SpreadsheetApp.getActiveSpreadsheet().toast('Mise à jour enregistrée');
};
}
non cela ne fonctionne pas, voici le script onOpen et onEdit
function onOpen() {
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
const ui = SpreadsheetApp.getUi(); // crée le menu admin uniquement
ui.createMenu('⇩ PARAGOLF AFGOLF ⇩')
.addItem('👉 1 Événement 🏌', 'D1')
.addItem('👉 2 Événement 🏌', 'D2')
.addItem('👉 3 Événement 🏌', 'D3')
.addItem('👉 4 Événement 🏌', 'D4')
.addItem('👉 5 Événement 🏌', 'D5')
.addItem('👉 6 Événement 🏌', 'D6')
.addItem('👉 7 Événement 🏌', 'D7')
.addItem('👉 8 Événement 🏌', 'D8')
.addItem('👉 9 Événement 🏌', 'D9')
.addItem('👉 10 Événement 🏌', 'D10')
.addItem('👉 11 Événement 🏌', 'D11')
.addItem('👉 12 Événement 🏌', 'D12')
.addSeparator()
.addSubMenu(ui.createMenu('Admin')
.addItem('👉 Afficher toutes les colonnes et lignes 👈', 'Rn')
.addItem('👉 Création d une nouvelle saison ⚠️', 'Ns')
.addItem('👉 ⚠️ Irréversible une fois lancer: efface toutes les présences de cette saison ⚠️', 'Es')
.addItem('👉 Protection de la feuille ⚠️', 'Ps'))
// .addItem('👉 Rechercher une date et les présences 🏌', 'xx')
// .addItem('👉 Rechercher un joueur et ses présences 🏌', 'xx')
// .addSeparator()
.addSubMenu(ui.createMenu('Différents tri')
.addItem('👉 Groupe 🏌', 'Gp')
.addItem('👉 Handicap 🏌', 'HCP')
.addItem('👉 Présences total 🏌', 'Pt'))
// .addSeparator()
.addToUi();
}
function onEdit(e) {
if (e.range.getColumn() == rechercheDate() && e.range.getRow() >= 5 && e.range.getRow() <= 85) {
var fonction = 'D' + (+e.range.getColumn() - 5)
this[fonction]()
var d = Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "MM-dd HH:mm");
SpreadsheetApp.getActiveSpreadsheet().setName('Test de Marc Entrainement Paragolf mise à jour le ' + D)
SpreadsheetApp.getActiveSpreadsheet().toast('Mise à jour enregistrée');
};
}
mbell
ok ca fonctionne super
function onOpen() {
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
const ui = SpreadsheetApp.getUi(); // crée le menu admin uniquement
ui.createMenu('⇩ PARAGOLF AFGOLF ⇩')
.addItem('👉 1 Événement 🏌', 'D1')
.addItem('👉 2 Événement 🏌', 'D2')
.addItem('👉 3 Événement 🏌', 'D3')
.addItem('👉 4 Événement 🏌', 'D4')
.addItem('👉 5 Événement 🏌', 'D5')
.addItem('👉 6 Événement 🏌', 'D6')
.addItem('👉 7 Événement 🏌', 'D7')
.addItem('👉 8 Événement 🏌', 'D8')
.addItem('👉 9 Événement 🏌', 'D9')
.addItem('👉 10 Événement 🏌', 'D10')
.addItem('👉 11 Événement 🏌', 'D11')
.addItem('👉 12 Événement 🏌', 'D12')
.addSeparator()
.addSubMenu(ui.createMenu('Admin')
.addItem('👉 Afficher toutes les colonnes et lignes 👈', 'Rn')
.addItem('👉 Création d une nouvelle saison ⚠️', 'Ns')
.addItem('👉 ⚠️ Irréversible une fois lancer: efface toutes les présences de cette saison ⚠️', 'Es')
.addItem('👉 Protection de la feuille ⚠️', 'Ps'))
// .addItem('👉 Rechercher une date et les présences 🏌', 'xx')
// .addItem('👉 Rechercher un joueur et ses présences 🏌', 'xx')
// .addSeparator()
.addSubMenu(ui.createMenu('Différents tri')
.addItem('👉 Groupe 🏌', 'Gp')
.addItem('👉 Handicap 🏌', 'HCP')
.addItem('👉 Présences total 🏌', 'Pt'))
// .addSeparator()
.addToUi();
var fonction = 'D' + (+rechercheDate() - 5)
this[fonction]()
};
function onEdit(e) {
if (e.range.getColumn() == rechercheDate() && e.range.getRow() >= 5 && e.range.getRow() <= 85) {
var fonction = 'D' + (+e.range.getColumn() - 5)
this[fonction]()
var d = Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "MM-dd HH:mm");
SpreadsheetApp.getActiveSpreadsheet().setName('Test de Marc Entrainement Paragolf mise à jour le ' + d)
SpreadsheetApp.getActiveSpreadsheet().toast('Mise à jour enregistrée');
};
} // <===############# position correcte
merci pour ton aide Steelson
mbell
ton timezone dans l'éditeur de script n'est pas bon, tu dois être sur New York
clique sur l'engrenage à gauche
Bonjour Steelson,
Bizare sur mon fichier test c'est ok bon fuseau tout est en ordre mais pas sur celui qui est diffusé pourtant sur le même pc donc la même heure le fuseau était le même j'ai juste mis Amsterdan pour voire s'il y aurait une différence mais non
L'image a été prise juste après le changement d'une cellule de la bonne colonne du jour, help.
mbell