Envoyé par mail la dernière ligne d'un tableur

Bonjour,

J'ai un script qui me permet d'envoyer un mail à certaines personnes lorsque je reçois une réponse d'un form.

Je voudrais pouvoir envoyer par mail toute la dernière ligne reçu, voici le script.

J'ai sur la ligne 10 le message et je n'arrive pas à reprendre la dernière ligne.

Pourriez vous m'aider svp ?

image

Bonjour,

Dans votre code, la datarange est fixée sur la cellule A2.

Utilisez plutôt : getLastRow() qui sert justement à sélectionner la dernière ligne :

var datarange = sheet.getLastRow();

Attention, ça donne la dernière ligne de la page, il faut donc supprimer les lignes vides, afin que la dernière ligne soit systématiquement créé lors d'un nouveau form.

Bonjour Pierre,

Merci pour votre retour.

Après la modification j'ai une erreur sur la ligne 6.

Voila le mail que je reçois avec le premier code " Nouvelle régul reçuefunction () { [native code] } "

Solution ci-dessous.

vous devez changer à la ligne 4 le nombre 10 par le nb de colonnes que vous souhaitez transférer par email

vous devez changer le logger à la fin par mailapp

function sendEmails() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var datarange = sheet.getLastRow();
  var data = sheet.getRange(datarange,1,1,10).getValues(); // changer 10 par le nombre de colonnes dont vous souhaitez envoyer les données.
  for (var i in data){
    var row = data[i];
    var emailAddress = "test@test.fr";
    var message = ("Nouvelle régul reçue")+row;
    var subject = "Nouvelle régul reçue";
    Logger.log(emailAddress + subject + message)

  }
}

Merci Pierre pour votre retour, voici la modification je pense avoir fais une erreur quelque pars car j'arrive au même résultat

image

Voici à quoi ressemble le tableur :

image

Bonjour,

Votre variable message est erronée :

var message = ("Nouvelle régul reçue")+ sheet.getLastrow;

var message = ("Nouvelle régul reçue")+row;

Bonjour Pierre,

Super merci pour votre retour , cela fonctionne :

Nouvelle régul reçueTue Mar 07 2023 16:49:33 GMT+0100 (Central European
Standard Time),127616,137946,,Tue Mar 07 2023 00:00:00 GMT+0100 (Central
European Standard Time),-1UV,INCIDENT PREPARATION TCP - CASSE

Par contre le message n'est pas hyper sympa :) Es ce qu'il possible de reprendre l'intituler des colonnes puis après le contenu des lignes ?

var message = ('Nouvelle régul reçue') + dernière ligne de la colonne A , 'dossier' + dernière ligne de la colonne B , ' article ' + dernière ligne de la colonne C ....

Il est en effet possible de rendre ça plus lisible, toutes les données ont été stockées dans la liste "data", rien ne vous empêche d'attribuer des variables et d'ajouter du texte à votre message :

for (var i in data){
    var horodateur = JSON.stringify(data[0][0]);
    var numdossier = JSON.stringify(data[0][1]);
    var emailAddress = "test@test.fr";
    var message = "Nouvelle régul reçue\n"+"date régul :"+horodateur+"\n numéro dossier : "+numdossier  ;
    var subject = "Nouvelle régul reçue";
    Logger.log(emailAddress + subject + message)

Dans ce cas, j'ai attribué la 1ère donnée de la liste (l'horodateur) à un variable "horodateur" avec le code : var horodateur = JSON.stringify(data[0][0]);

Puis, de la même manière, j'ai attribué le second élément de la liste (numéro de dossier) : var numdossier = JSON.stringify(data[0][1]);

Ensuite, ces données étant stockés dans des variables, j'adapte le message avec du texte explicatif et les différentes variables.

Merci Pierre pour votre réponse, j'ai encore dû faire une erreur sur le script :( , pouvez-vous m'aider de nouveau

L'erreur serais en ligne 2.

image

Je ne vois pas d'erreur en ligne 2, pouvez-vous copier l'erreur ?

Ha non je ne sais pas pourquoi je viens de relancer le script et cette fois pas d'erreur....

Nouvelle régul reçue" + 'numéro dossier:128571
numéro article :108225
commentaire:""
date de régul :"2023-03-21T23:00:00.000Z"
motif :1

Je vous remercie c'est super je vais essayer d'adapter pour avoir quelque chose de vraiment bien structuré, je clos le dossier toute à l'heure.

Rechercher des sujets similaires à "envoye mail derniere ligne tableur"