Bonjour,
J'ai un fichier test comprenant ces données en plage B6:G (nombre de lignes aléatoires) et en G3 l'adresse mail de diffusion.
Le texte est n'importe quoi, mais il faut anonymiser donc... ^^
| Fruits | Texte | Quantité vendue | Entête 1 | Entête 2 | Entête 3 |
| Pommes | xxx | xxx | xxx | xx | xx |
| Oranges | xxx | x | xx | x | xxx |
| Bananes | xxx | xxx | xxx | xxx | xxx |
| Pommes | xx | x | xx | x | xx |
| Bananes | xxx | xxxxxx | xx | xx | xxxx |
Oranges | x | xxxxx | xxxxx | xx | xxxxxx |
En fouillant sur le net j'ai pu réaliser ce script, me permettant de personnaliser mon entête et mettre des bordures sans utiliser de fichier html.
Le script est fonctionnel.
Question comment faire pour qu'à chaque fois qu'il y a le mot "Bananes" la cellule (<td></td>) est un fond jaune et qu'à chaque fois qu'il y a le mot orange ce soit la ligne entière (<tr></tr>) qui soit en orange ?
Une idée sans utiliser de fichier html ?
function EnvoiMail() {
var Fichier = SpreadsheetApp.getActiveSpreadsheet();
var Fichier_BDD = Fichier.getSheetByName('BDD');
var TabloBDD = Fichier_BDD.getRange(6, 2, Fichier_BDD.getLastRow()-5, 6).getValues();
var Adressemail = Fichier_BDD.getRange("G3").getValue();
var TABLEFORMAT = 'cellspacing="2" cellpadding="2" dir="ltr" border="1" style="width:100%;table-layout:fixed;font-size:10pt;font-family:arial,sans,sans-serif;border-collapse:collapse;border:1px solid #ccc;font-weight:normal;color:black;background-color:white;text-align:center;text-decoration:none;font-style:normal;'
var htmltable = '<table ' + TABLEFORMAT +' ">';
for (row = 0; row<TabloBDD.length; row++){
htmltable += '<tr>';
for (col = 0 ;col<TabloBDD[row].length; col++){
if (TabloBDD[row][col] === "" || 0) {htmltable += '<td>' + 'None' + '</td>';}
else
if (row === 0) {
htmltable += '<th style="color:white;background-color:#CCC7C5">' + TabloBDD[row][col] + '</th>';
}
else {htmltable += '<td>' + TabloBDD[row][col] + '</td>';}
}
htmltable += '</tr>';
}
htmltable += '</table>';
Logger.log(TabloBDD);
Logger.log(htmltable);
MailApp.sendEmail({
name: "ESSAI",
to: Adressemail,
subject: "Email de test",
htmlBody: "<p>Bonjour,</p><p>texte d'intro ici</p>"+htmltable+"<p>Cordialement,</p>"
});
}