Problème lors d'envoie de mail sur sheets

Bonjour,

J'ai crée une macro pour quelle crée un tableau HTML de ma feuille de calcule sheets et l'envoyer automatiquement par email, lorsque je coche la cellule C22 je souhaite qui récupère les adresses email des destinataires en colonne L de la cellule L2 a la Cellule L7.

Mon problème c'est que quand je coche cette cellule rein ne se passe, je ne re cois pas pas email et pas de message d'erreur, mais quand je fait une exécution manuel je n'est pas d'erreur et je ne reçois pas d'email .

est ce que quelqu'un peut me dire ou est mon erreur svp?

function sendEmailOnC22True(e) {
  if (e && e.source) {
    var sheet = e.source.getActiveSheet();
    var cell = sheet.getRange('C22');

    // Vérifier si la feuille active est "Feuille 1" et si la cellule C22 est marquée "VRAI"
    if (sheet.getName() === 'Feuille 1' && cell.getValue().toString().toUpperCase() === 'VRAI') {
      // Obtenir le destinataire dans la colonne L des lignes 2 à 7
      var recipientColumn = sheet.getRange('L2:L7').getValues();
      var emailAddresses = recipientColumn.flat().filter(String);

      // Obtenir le contenu du tableau au format HTML
      var tableRange = sheet.getRange('A1:F21');
      var tableValues = tableRange.getDisplayValues();
      var htmlTable = '<table border="1">';

      for (var i = 0; i < tableValues.length; i++) {
        htmlTable += '<tr>';
        for (var j = 0; j < tableValues[i].length; j++) {
          htmlTable += '<td>' + tableValues[i][j] + '</td>';
        }
        htmlTable += '</tr>';
      }

      htmlTable += '</table>';

      // Envoyer l'e-mail aux destinataires avec le tableau au format HTML
      var subject = 'Sujet de l\'e-mail';
      var htmlBody = '<p>Contenu de l\'e-mail au format HTML :</p>' + htmlTable;

      MailApp.sendEmail({
        to: emailAddresses.join(','),
        subject: subject,
        htmlBody: htmlBody
      });
    }
  }
}

https://docs.google.com/spreadsheets/d/1hunVOZyrzwaOdoaWF-Wo-uSpkW_bQIVTWxTuIAYfWc8/edit?usp=sharing

Merci par avance pour votre aide.

Bonjour,

C'est du chatGPT ? Il y a des incohérences qui font penser à de la génération par IA.

Voici le code corrigé, j'ai aussi ajouté un dé-check de ta case en C22 : cell.uncheck();

function sendEmailOnC22True(e) {
  if (e && e.source) {
    var sheet = e.source.getActiveSheet();
    var cell = e.source.getActiveCell();

    // Vérifier si la feuille active est "Feuille 1" et si la cellule C22 est marquée "VRAI"
    if (sheet.getName() === 'Feuille 1' && cell.isChecked()) {
      cell.uncheck();
      // Obtenir le destinataire dans la colonne L des lignes 2 à 7
      var emailAddresses = sheet.getRange('L2:L7').getValues().flat().filter(email => /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email));
        // Obtenir le contenu du tableau au format HTML
      var tableRange = sheet.getRange('A1:F21');
       var tableValues = tableRange.getDisplayValues();
       var htmlTable = '<table border="1">';

       for (var i = 0; i < tableValues.length; i++) {
         htmlTable += '<tr>';
         for (var j = 0; j < tableValues[i].length; j++) {
           htmlTable += '<td>' + tableValues[i][j] + '</td>';
         }
         htmlTable += '</tr>';
       }

       htmlTable += '</table>';

        // Envoyer l'e-mail aux destinataires avec le tableau au format HTML
       var subject = 'Sujet de l\'e-mail';
       var htmlBody = '<p>Contenu de l\'e-mail au format HTML :</p>' + htmlTable;

       MailApp.sendEmail({
         to: emailAddresses.join(','),
         subject: subject,
         htmlBody: htmlBody
       });
    }
  }
}

Bonjour,

Oui effectivement c'est du chatGPT.

Merci pour votre aide

Bonjour,

Il est un peu stupide malheureusement, il faut s'en servir comme une béquille, afin de vérifier les erreurs, les possibilités d'optimisation, mais à partir de 0, hormis des tâches très simples il va vite bloquer, car il ne pense pas les tenants et aboutissants.

Bref, si le script est fonctionnel, vous pouvez indiquer le topic comme résolu.

Rechercher des sujets similaires à "probleme lors envoie mail sheets"