Google Apps Script
p
Bonjour,
Je reviens voir si quelqu'un peux m'aide, car j'ai cette macro qui fonctionner et maintenant elle ne fonction plus.
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') {
// Définir 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()))
});
}
if (cellule.getRow() == feuille.getLastRow() && cellule.getValue() == true) {
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();
var data = feuille.getRange('A1:H'+feuille.getLastRow()).getValues().filter(r => (r[7] == 'MANQUANT' || r[7] == 'DETERIOREE'));
MailApp.sendEmail({
to: emailAddress + ',autreadresse@gmail.com',
subject: subject,
htmlBody: message + '<b>' + tableHTMLsimple(data)
});
}
}
function tableHTMLsimple(data) {
var tableformat = 'cellspacing="2" cellpadding="2" border="1" style="width:100%;border-collapse:collapse;border:1px solid #ccc"';
var rows = data.map(r => '<tr><td>' + r.join('</td><td>') + '</td></tr>');
return '<table ' + tableformat + ' >\n' + rows.join('\n') + '</table>';
}
function reInitialiser() {
const zones = ['B3', 'C3', 'D3', 'B5', 'G5', 'D5', 'H5', 'B8', 'C8', 'D8', 'E8', 'F8', 'G8', 'H8', 'I8'] // seront effacées
const colonnes = ['F', 'G'] // seront effacées à partie de la ...
const ligne = 11
const ss = SpreadsheetApp.getActiveSpreadsheet()
const feuilles = ['Inventaire VSAV', 'Inventaire FPT', 'Inventaire VTUTP', 'Inventaire VLCDG', 'Inventaire LOTS PROMPT SECOURS', 'Inventaire LOTS DE RELEVAGE (LREL)']
feuilles.forEach(feuille => {
var f = ss.getSheetByName(feuille)
var der = f.getLastRow()
zones.forEach(z => f.getRange(z).clearContent())
colonnes.forEach(c => f.getRange(c + ligne + ':c' + der).clearContent())
})
}
function myFunction() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var range = sheet.getRange('G11:G266');
var day = sheet.getRange('A1').getValue().getDay(); // Obtient le jour de la semaine de la cellule A1
if (day === 3) { // Vérifie si c'est mercredi (3 correspond au mercredi dans la représentation des jours de la semaine)
range.setValue('PRÉSENT');
}
}https://docs.google.com/spreadsheets/d/18IpqnGpZfJVwlJsiquegfxydZ5UUwnk_eg3KDQPX4iE/edit?usp=sharing