Envoie mail automatisé

Bonjour,
Ma présidente m'a demandé de faire un cadencier pour pouvoir faire les stocks plus facilement et j'ai voulu ajouter avec AppScript de Google Sheet un moyen pour avoir des mails automatisés lorsqu'il faut commander des articles.
Le fait est que je l'ai fait avec ChatGpt car je ne sais pas faire de script.
Voici le script de CHATGPT mais le problème c'est qu'il ne fonctionne pas et que ChatGPT ne comprend pas son erreur :

function sendEmailIfYes() {
var feuille = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Stock");
var plage = feuille.getRange('D2:D'); // Commencer à partir de la ligne 2
var valeurs = plage.getValues();
var dernierLigne = plage.getLastRow();

for (var i = 0; i < valeurs.length; i++) {
var valeurCellule = valeurs[i][0].toString().toLowerCase(); // Convertir en minuscules

Logger.log("Valeur de la cellule : " + valeurCellule);

if (valeurCellule === 'oui') {
var adresseEmail = "paulo.chaves@provence-europagro.eu"; // Adresse e-mail du destinataire
var objetEmail = "Un article est à commander";
var corpsEmail = "Un article est à commander, veuillez aller sur : https://docs.google.com/spreadsheets/d/1WjOcOHu_cNaYgyF9z7XFXWfnBHKTTI4rSVmTWQRfjVM/edit#gid=0 Si une commande est en cours, veuillez rentrer les quantités commandées dans le tableau."
Logger.log("Envoi d'e-mail à : " + adresseEmail);

MailApp.sendEmail(adresseEmail, objetEmail, corpsEmail);
}
}
}

Est-ce que quelqu'un pourrait corriger s'il vous plait et aussi m'aider à comprendre ce qu'il ne va pas ?

Bonjour,

Quel est le message d'erreur lors de l’exécution du script ?

S'il n'y en en a pas, ce log s'affiche t'il dans la console ? Logger.log("Envoi d'e-mail à : " + adresseEmail);

Bonjour,

J'ai demandé "envoyer un mail d'une feuille pour passer commande lorsque la cellule de la plage (A1:A10) est à "5" ou inférieur"

Essai ça , en changeant, le nom de la feuille, la plage, l'adresse mail, le chiffre du déclenchement. (5 ou inférieur)

function envoiMailCommande() {
  // Remplacez "Feuille1" par le nom de votre feuille
  var feuille = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Feuille1");

  // Plage de cellules à surveiller
  var plage = feuille.getRange("A1:A10"); // Modifiez la plage selon vos besoins

  // Récupère les valeurs dans la plage spécifiée
  var valeurs = plage.getValues();

  // Adresse e-mail à laquelle envoyer le message
  var destinataire = "adresse.email@example.com"; // Remplacez par votre adresse e-mail

  // Sujet du message
  var sujet = "Commande à passer";

  // Corps du message
  var corpsMessage = "La commande doit être passée. Veuillez vérifier la feuille de commande.";

  // Vérifie si la valeur dans la plage est de 5 ou moins
  for (var i = 0; i < valeurs.length; i++) {
    if (valeurs[i][0] <= 5) {
      // Envoie l'e-mail
      MailApp.sendEmail(destinataire, sujet, corpsMessage);
      break; // Arrête la boucle après l'envoi d'un seul e-mail
    }
  }
}

Cordialement,

Alex

Je reçois un mail avec ce message :

2024 03 18 10h04 02

Ce mail indique que le script "sendEmailIfStockLow" est introuvable.

Celui que vous avez partagé s'appelle "sendEmailIfYes".

Si vous allez dans votre fichier sheets > Extensions > Apps Script, puis, que vous cliquez sur Exécuter en haut, que s'affiche t il sur la console en bas ?

screenshot 2024 03 18 10 14 27

Le script fonctionne est l'envoie de mail aussi

2024 03 18 10h24 03

Donc il y a un problème, des valeurs sont testés alors qu'elles sont vide, et je ne vois pas le log de mail envoyé.

Est-ce possible de partager une version lisible de votre fichier (sans données sensible) ?

Rechercher des sujets similaires à "envoie mail automatise"