Google Apps Script

en effet, j'aurais dû écrire ceci

htmlBody: message + '<b>' + cellule.offset(0,-5).getValue() + ' ' + cellule.getValue() })

(et non .offset(-5,0))

est il possible que google sheets quand envoie un e-mail il passe par l'application mail du téléphone portable de la personne, pour qu'il n'utilise plus mon adresse e-mail ?

je ne suis pas sûr qu'android permette l'envoi d'un mail

je ferai un test

L'envoi d'un mail à partir d'android ne pose aucun problème pour moi. Test fait avec ma propre adresse gmail côté PC et côté Téléphone.

Mais je pense que si l'appli est partagée, alors il faut que chacun se soit déclaré comme propriétaire du script. Il me semble avoir lu quelque chose à ce sujet.

Il faudrait que je retrouve l'article ...

est il possible que google sheets quand envoie un e-mail il passe par l'application mail du téléphone portable de la personne, pour qu'il n'utilise plus mon adresse e-mail ?

il faut que chaque utilisateur crée un déclencheur sur la fonction pour lui-même et utilise son propre compte google sur son téléphone (je viens de faire le test avec une autre adresse email)

Merci pour ce retour, je panse que le plus simple sa sera l'utilisation d'un compte en commun, cela évitera tous problème.

Je ne c'est pas ce que j'ai fait hier, mais en suppriment une macro que j'avais avant la votre qui ne me serve pas, maintenant la ne fonctionne plus.

la votre

ci dessus la macro supprimer.

ci dessous la votre.

la mienne

merci pour votre aide

je n'ai jamais écrit cette macro, celle que j'ai écrit est celle-ci https://forum.excel-pratique.com/sheets/google-apps-script-170887#p1059843, c'est la première de ton message

Il me semblait bien que c’était le premier.

Je pensais savoir pourquoi ça ne fonctionnait plus, je pensais que ça venait que j’avais inversé la colonne observation et la colonne état, mais après avoir remis comme c’était au départ, Cela ne fonctionne toujours pas.

Serait je puisque j’ai supprimé la feuille 1,Que j’avais mis lors de la création de la macro que j’ai récupérer YouTube?

tu as 2 projets attachés à la même feuille, donc le souk le plus total, il faut faire le ménage, en supprimer un !

image

C’est fait je viens de supprimer la macro que j’ai récupéré sur YouTube il ne reste plus que la vôtre.

tu avais une feuille 1 qui n'existe plus dans laquelle tu mettais les titre du mail, destinataire etc.

et maintenant tu mets

var sheet1 = ss.getSheetByName('feuille');

avec une feuille nommée feuille qui n'existe pas !

Bonjour Steelson,

Pouvez vous svp regarder le fichier et la macro?

car j'ai tous remis en place et cela ne fonctionne toujours pas .

Fais un test avec -7 (forcément, je ne comprends toujours pas pourquoi on utilise des cellules fusionnées !!)

cellule.offset(0,-7).getValue()

ce qui fait

function emailOnEdit(event) {
  var feuille = event.source.getActiveSheet();
  var cellule = event.source.getActiveRange();
  if (cellule.getColumn() != 8) return;
  if (cellule.getValue() == 'MANQUANT' || cellule.getValue() == 'DETERIOREE') {

    //definir les variables
    var ss = SpreadsheetApp.getActiveSpreadsheet()
    var sheet1 = ss.getSheetByName('feuille 1');
    var emailAddress = sheet1.getRange(2, 1).getValue();
    var subject = sheet1.getRange(2, 2).getValue();
    var message = sheet1.getRange(2, 3).getValue();

    // envoyer le mail   
    MailApp.sendEmail({ 
      to: emailAddress + ',autreadresse@gmail.com', 
      subject: subject, 
      htmlBody: message + '<b>' + cellule.offset(0,-7).getValue() + ' ' + cellule.getValue() })
  }

}
58e0efa2 f72c 4c00 87bb a9861a7f9e71

Merci pour votre aide,Cela fonctionne mieux.

j’ai juste un petit souci avec l’envoi des e-mails, c’est quand on Modifie le fichier Et le moment où on réceptionne le mail et c’est cool plusieurs minutes, je ne sais pas si je peux modifie ça au niveau de mes paramètres ?

Je souhaiterais aussi apporter quelques modifications si cela est possible au Fichiers, car je souhaiterais que le commentaire soit intégré au mail lors de l’envoi comme joint en photo avec la même mise en forme que sur le fichier (En gros c’est faire des captures d’écran de tous les défauts et les coller dans le mail pour l’envoyer, je ne sais pas si c’est comme ça qu’il faut le dire), et si possible un envoi unique qui regroupe l’ensemble des erreurs (détériorer, manquant) une fois qu’on Cliquer sur la case Validé l'inventaire qui se trouve en bas de la page, et si possible une fois qu’on à dessus cliquer c’est de le passer en rouge?

Encore merci pour votre aide cela me permet d’avancer un peu et de commencer à comprendre le fonctionnement avec Sheets.

je m'aperçois que parfois la colonne est parfois en F parfois en H (et voilà pourquoi j'avais mis le -5)

function emailOnEdit(event) {
  var feuille = event.source.getActiveSheet();
  var cellule = event.source.getActiveRange();
  if (cellule.getColumn() != 8 && cellule.getColumn() != 6) return;
  if (cellule.getValue() == 'MANQUANT' || cellule.getValue() == 'DETERIOREE') {

    //definir les variables
    var ss = SpreadsheetApp.getActiveSpreadsheet()
    var sheet1 = ss.getSheetByName('feuille 1');
    var emailAddress = sheet1.getRange(2, 1).getValue();
    var subject = sheet1.getRange(2, 2).getValue();
    var message = sheet1.getRange(2, 3).getValue();
    // envoyer le mail   
    MailApp.sendEmail({ 
      to: emailAddress + ',autreadresse@gmail.com', 
      subject: subject, 
      htmlBody: message + '<b>' + tableHTMLplus(feuille.getRange(cellule.getRow(),1,1,feuille.getLastColumn())) 
    })
  }

}
function tableHTMLplus(range){
  var data      = range.getDisplayValues()
  var size      = range.getFontSizes()
  var style     = range.getFontStyles()
  var weight    = range.getFontWeights()
  var line      = range.getFontLines()
  var bg        = range.getBackgrounds()
  var color     = range.getFontColors()
  var font      = range.getFontFamilies()
  var textalign = range.getHorizontalAlignments()
  var offsetx   = range.getRow()
  var offsety   = range.getColumn()

  var mergedRanges = range.getMergedRanges();
  var flag = Array.from({ length: range.getNumRows() }, () => Array.from({ length: range.getNumColumns() }, () => true));
  var layout = Array.from({ length: range.getNumRows() }, () => Array.from({ length: range.getNumColumns() }, () => ''));
  mergedRanges.forEach((rng,i) => {
    for (x=rng.getRow();x<rng.getRow()+rng.getNumRows();x++){
      for (y=rng.getColumn();y<rng.getColumn()+rng.getNumColumns();y++){
        try{flag[x-offsetx][y-offsety]=false}catch(e){}
      }
    }
    flag[rng.getRow()-offsetx][rng.getColumn()-offsety]=true
    layout[rng.getRow()-offsetx][rng.getColumn()-offsety]=' colspan="'+rng.getNumColumns()+'" rowspan="'+rng.getNumRows()+'" '
  });

  var tableformat = 'cellspacing="2" cellpadding="2" border="1" style="width:100%;border-collapse:collapse;border:1px solid #ccc"';
  var htmltable = '<table ' + tableformat +' >';
  for (row = 0; row<data.length; row++){
    htmltable += '<tr>';
    for (col = 0 ;col<data[row].length; col++){
      if (flag[row][col]){
        if (data[row][col] === '') {
          htmltable += '<td '+layout[row][col]+' style="background-color:' + bg[row][col] + ';">' + ' ' + '</td>';
        } 
        else
          htmltable += '<td '+layout[row][col] + 
          ' style="font-family:' + font[row][col] + 
          '; background-color:' + bg[row][col] + 
          '; color:' + color[row][col] + 
          '; font-style:' + style[row][col] + 
          '; font-weight:' + weight[row][col] + 
          '; text-decoration:' + line[row][col] + 
          '; font-size:' + size[row][col] + 'px' +
          '; text-align:' + textalign[row][col] + ';">' + 
          data[row][col].replace(/(\r\n|\n|\r)/gm,"<br>") + '</td>';
        }
      }
    htmltable += '</tr>';
  }
  htmltable += '</table>';
  return htmltable
}

j’ai juste un petit souci avec l’envoi des e-mails, c’est quand on Modifie le fichier Et le moment où on réceptionne le mail et c’est cool plusieurs minutes, je ne sais pas si je peux modifie ça au niveau de mes paramètres ?

c'est google qui décide, mais chez moi c'est une seconde !

Oui je n’ai pas eux le temps de faire les modifications, mais je vais tous mettre en H.

Je ne c’est pas si c’est vous qui avez fait des essai d’envoi mais j’ai reçu pas mal d’alerte d’erreur.

52160dbd d3c3 4814 83ed cc13670f9e68

oui j'ai fait des essais, donc c'est sans doute moi en effet

Super c’est exactement se je voulais dans l’envoi de mail.

Pour que je puisse recevoir un e-mail général avec les défauts, il faut que je le modifie dans les paramètres ?

Comment puis-je faire pour la case Validé l'inventaire fonction leurs que on clique dessus et que sa en envoie un e-mail général avec les défauts?

J’ai copie le fichier pour le mettre dans dossier ou les personnes on accès et j’ai fait un essai et je ne reçois plus de mail, Active une procédure particulière ?

Pour que je puisse recevoir un e-mail général avec les défauts, il faut que je le modifie dans les paramètres ?

je n'ai pas compris

Comment puis-je faire pour la case Validé l'inventaire fonction leurs que on clique dessus et que sa en envoie un e-mail général avec les défauts?

c'est la même chose ?

où est la case validée ?

J’ai copie le fichier pour le mettre dans dossier ou les personnes on accès et j’ai fait un essai et je ne reçois plus de mail, Active une procédure particulière ?

il faut que chacun crée un déclencheur pour lui-même

Rechercher des sujets similaires à "google apps script"