Script modif nom feuille avec date du jour

Bonjour à tous,

Je souhaiterais avoir un script qui permettrait d'envoyer une feuille sheet par mail. J'ai trouvé le sujet suivant qui colle quasiment à ce que je recherche :

https://forum.excel-pratique.com/sheets/script-pour-envoyer-automatiquement-une-feuille-sheet-par-ma...

La macro proposée fonctionne parfaitement. Par contre je souhaiterais que ce fichier soit envoyé chaque jour et que le nom du fichier puisse changer à chaque envoie. Dans un monde idéal, le fichier se nommerait : " fichierXXX + DATEDUJOUR".

Pensais vous que cela soit réalisable ?

Merci par avance.

Bonjour,

function nomFeuille(){
  var classeur = SpeadsheetApp.getActiveSpreadsheet();
  var date = new Date();
  var nom = "fichierXXX "+date.getDate()+"/"+date.getMounth()+"/"+date.getFullYear;
  classeur.getSheetByName("ancien nom").setName(nom);
}

A adapter au script du mail, peux-tu envoyer ton code ?

Wahou!

Merci pour la réponse rapide.

Voici le code que j'ai utilisé :

function onSubmit(e){
  Logger.log('submit ran');

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();

//Send active sheet as email attachment

  var ss = SpreadsheetApp.getActiveSpreadsheet()
var ssID = ss.getId();
var sheetgId = ss.getActiveSheet().getSheetId();
var sheetName = ss.getName();

var token = ScriptApp.getOAuthToken();

var email = "xxxxxxxxx.com";
var subject = "xxxxx";
var body = "xxxxx";

var url = "https://docs.google.com/spreadsheets/d/"+ssID+"/export?" + "format=xlsx" +  "&gid="+sheetgId+ "&portrait=false" + "&exportFormat=xlsx";

var result = UrlFetchApp.fetch(url, {
headers: {
  'Authorization': 'Bearer ' +  token
}
});

var contents = result.getContent();

MailApp.sendEmail(email,subject ,body, {attachments:[{fileName:sheetName+".xlsx", content:contents, mimeType:"application//xlsx"}]});
};

Merci encore.

Je tiens à m'excuser mais je me suis mal exprimé

Je souhaitais modifier le nom du classeur et non pas de la feuille.

Une petite idée?

C'est ok! J'ai trouvé comme un grand

Voici le code final :

function nomFeuille(){
  var classeur = SpreadsheetApp.getActiveSpreadsheet();
  var date = new Date();
  var nom = "fichierXXX "+date.getDate()+"/"+date.getMonth()+"/"+date.getFullYear();
  classeur.setName(nom);

 Logger.log('submit ran');

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();

//Send active sheet as email attachment

  var ss = SpreadsheetApp.getActiveSpreadsheet()
var ssID = ss.getId();
var sheetgId = ss.getActiveSheet().getSheetId();
var sheetName = ss.getName();

var token = ScriptApp.getOAuthToken();

var email = "xxx@xxx.com";
var subject = "xxxxx";
var body = "xxxxx";

var url = "https://docs.google.com/spreadsheets/d/"+ssID+"/export?" + "format=xlsx" +  "&gid="+sheetgId+ "&portrait=false" + "&exportFormat=xlsx";

var result = UrlFetchApp.fetch(url, {
headers: {
  'Authorization': 'Bearer ' +  token
}
});

var contents = result.getContent();

MailApp.sendEmail(email,subject ,body, {attachments:[{fileName:sheetName+".xlsx", content:contents, mimeType:"application//xlsx"}]});
};

Merci pour votre aide.

Bonne soirée.

J’ai fait une erreur,

Correction:

function nomFeuille(){
  var classeur = SpreadsheetApp.getActiveSpreadsheet();
  var date = new Date();
  var nom = "fichierXXX "+date.getDate()+"/"+(date.getMonth()+1)+"/"+date.getUTCFullYear();
  classeur.setName(nom);

 Logger.log('submit ran');

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();

//Send active sheet as email attachment

  var ss = SpreadsheetApp.getActiveSpreadsheet()
var ssID = ss.getId();
var sheetgId = ss.getActiveSheet().getSheetId();
var sheetName = ss.getName();

var token = ScriptApp.getOAuthToken();

var email = "xxx@xxx.com";
var subject = "xxxxx";
var body = "xxxxx";

var url = "https://docs.google.com/spreadsheets/d/"+ssID+"/export?" + "format=xlsx" +  "&gid="+sheetgId+ "&portrait=false" + "&exportFormat=xlsx";

var result = UrlFetchApp.fetch(url, {
headers: {
  'Authorization': 'Bearer ' +  token
}
});

var contents = result.getContent();

MailApp.sendEmail(email,subject ,body, {attachments:[{fileName:sheetName+".xlsx", content:contents, mimeType:"application//xlsx"}]});
};

Bonne nuit

Vous auriez une idée de la façon dont je dois m'y prendre pour avoir un format de date de type "jjmmaaaa"?

A aujourd'hui il me met un "8" pour le mois d'Aout et j'aurais souhaité un "08".

Merci encore.

Voilà

var date = new Date();
var mois = (date.getMonth()+1) < 10 ? "0"+(date.getMonth()+1) : (date.getMonth()+1);
var nom = "fichierXXX "+date.getDate()+"/"+mois+"/"+date.getUTCFullYear();
Rechercher des sujets similaires à "script modif nom feuille date jour"