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

image

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

Juste une erreur fuseau - 6 heure comment rectifier ?

image

si réponse je te remercierais demain certainement 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

image

L'image a été prise juste après le changement d'une cellule de la bonne colonne du jour, help.

mbell

Ok après t'avoir relu Steelson j'ai vu que tu parlais de "éditeur" et donc pas celui de la feuille.

image

P.S.: j'ai mis les deux image afin que les internautes ne ce trompe pas eu aussi

Merci et désolé pour le dérangement.

mbell

Rechercher des sujets similaires à "renommer fichier automatiquement"