Code date pour macro

Bonjour,

J'ai une macro pour envoyer un mail via Gmail mais dans l'énoncé de mon message j'aimerais que la date soit celle de demain

Exemple d'une partie de ma macro

Var date=Utilities.formatDate(New Date(),"GMT+1","dd-MM-yyyy")

Pouvez vous m'aidez

Merci

Bonjour, voici une proposition de code :

function myFunction() {
  var date = new Date(Date.now() + 1000*60*60*24)
  var demain = Utilities.formatDate(date,'Europe/Paris','dd-MM-yyyy')
  Logger.log(demain)

}

Désolée mais cela ne fonctionne pas

j'ai une autre solution je récupère la date exacte en B1 mais la date ne s'écrit pas correctement je voudrais qu'elle soit en dd-MM-yyyy

Var date =sheet.getrange('B1').getvalue()

var demain=utilities.formatdate(date,"GMT","dd-MM-yyyy")

Var message ="bonjour"+demain

Si ça fonctionne :

screenshot 2023 03 29 17 02 07

Mais vous pouvez en effet saisir votre date dans une cellule : =Aujourdhui()+1

Et ensuite la récupérer dans une variable : (dans ce cas je vous conseille d'utiliser .getDisplastValue() au lieu de .getValue() comme ça, c'est le format de votre cellule qui s'affiche.)

function myFunction() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();

  var date = sheet.getRange('M10').getDisplayValue();
  Logger.log(date)
}

RESULTAT :

screenshot 2023 03 29 17 06 34

Merci cela fonctionne.

J'ai un autre problème

Pour le pdf que je crée j'aimerais qu'il soit en paysage et que le tableau soit ajuster à la page

ssUrl.replace(/\/edit.*$/,'')

+ '/export?exportformat=pdf&format=pdf'

+ '&size=A4'

+ '&portrait=true'

+ '&fitw=true'

+ '&top_margin=-0.95'

+ '&bottom_margin=0.50'

+ '&left_margin=0.50'

+ '&right_margin=0.50'

+ '&sheetnames=false'

+ '&printtitle=false'

+ '&pagenum=false'

+ '&gridlines=false'

+ '&fzr=FALSE'

+ '&gid='+sheetId;

Bonjour,

Pour le format paysage, c'est assez simple

+ '&portrait=false'

Pour l'ajustement à la page, de mémoire (à confirmer)

+ '&scale=4'

Bonjour,

J'avais effectivement essayé portrait=false

Mais cela ne fonctionne pas

Vous auriez le script complet, parce que ce n'est pas évident de travailler sur des morceaux.

Voici le code:

function savePDF()

{

// Selection de la feuille à PDFiser

var ss = SpreadsheetApp.getActiveSpreadsheet();

var sheet = ss.getSheetByName('xxxx');

//générer URL de la feuille

var ssUrl = ss.getUrl();

var sheetId= sheet.getSheetId();

// paramétrage du PDF, les marges sont à modifier au cas par cas.

var url = ssUrl.replace(/\/edit.*$/,'')

+ '/export?exportformat=pdf&format=pdf'

+ '&size=A4'

+ '&portait=false'

+ '&fitw=true'

+ '&top_margin=0.50'

+ '&bottom_margin=3'

+ '&left_margin=0.50'

+ '&right_margin=0.50'

+ '&sheetnames=false'

+ '&printtitle=false'

+ '&pagenum=false'

+ '&gridlines=false'

+ '&fzr=FALSE'

+ '&scale=4'

+ '&gid='+sheetId;

// Concaténons le tout (+ le nom de mon PDF est une date qui se situe en cellule A6, c'est à modifier dans votre cas

var docName = sheet.getRange('F1').getValue();

// CRÉER LE PDF A PARTIR DE L'URL

var token = ScriptApp.getOAuthToken();

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

var pdf = docurl.getAs('application/pdf').setName(docName);

var demandeur = 'nom du client';

var file = DriveApp.createFile(pdf);

var folder = DriveApp.getFolderById("xxxxxxx");// > adresse du dossier Drive

var finalFile = file.moveTo(folder);

var docUrl = finalFile.getUrl();

var demandeurEmail = sheet.getRange('G1').getValue();

var date=sheet.getRange('B1').getDisplayValues();

var message = "Bonjour"+"<p>Ci-joint le "+'planning du '+date+"</p>"+"<a href='"+docUrl+"'>Cliquez ici pour ouvrir le recap.</a>";

MailApp.sendEmail({to:demandeurEmail , subject: ""+docName, htmlBody:message}) ;

var ui = SpreadsheetApp.getUi();

ui.alert("Le "+ docName +" a bien été créé\n et été envoyé à "+ demandeur +" ");

}é créé\n et été envoyé à "+ demandeur +" ");

}

+ '&size=A4'

ce ne serait pas plutôt

+ "&size=A4"

Remplacer les ' par des "

C'est un code que vous avez déjà utilisé ?

Cool ça fonctionne c fou ça, ça se jouait à un guillemet.

N'oubliez pas de mettre le sujet en résolu si ça vous convient

Comment on fait

Il suffit de cliquer sur le bouton résolu.

Rechercher des sujets similaires à "code date macro"