Bonjour à tous,
Voilà je suis en train de rédiger ce code pour envoyer un mail automatiquement lorsque qu'une case est cochée dans le tableur (tableur généré par un form).
Voici le souci :
Il fonctionne très bien lorsque la variable "fal" stockée en colonne E est vide au départ du code (le cas où on rentre dans le if ligne 19 : saisie de la variable par l'utilisateur). Mais lorsque la variable "fal" est déjà écrite en colonne E (provenant de la réponse form) (else ligne 23), là le code ne rentre plus dans les if lignes 33 ou 37 (ceux où on vérifie ce que contient "fal") et donc la variable "email" n'est pas affectée.
J'ai essayé de placer des msgbox pour vérifier que la "fal" contient bien la donnée et c'est le cas à chaque fois, c'est pour ça que je ne comprends pas du tout pourquoi dans le cas du else ligne 23 cela ne fonctionne plus...
Merci de votre aide !
//Envoie un mail à l'adresse de diffusion (320 ou 350 selon le cas) lorsque la case "traité" a été cochée par un gestionnaire du HUB
// utilise un déclencheur : la case à cocher colonne G
//Si élargissement du périmètre, ajouter des If dans le paragraphe "si l'utilisateur approuve"
Logger.log(e.value) //Enregistrer la valeur de e.value dans la log
if (e.value == "TRUE") {
// Déclaration des variables
var ui = SpreadsheetApp.getUi()
var feuille = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var fuseauHoraire = Session.getScriptTimeZone();
var fal = feuille.getRange("E" + e.range.getRow()).getValues();
if (fal==0) {
var saisie = ui.prompt('L\'appartenance de l\'équipement n\'a pas été renseignée. A quelle FAL appartient-il ?');
var fal =saisie.getResponseText();
}
else {
var fal = feuille.getRange("E" + e.range.getRow()).getValues();
}
// Alerte utilisateur
var dialogue = ui.alert('Vous avez coché "Traité".', 'Envoyer un mail à la liste de diffusion ' + fal + ' ?', ui.ButtonSet.YES_NO)
// Si l'utilisateur approuve
if (dialogue == ui.Button.YES) {
if (fal.indexOf("320")>-1) {
SpreadsheetApp.getActiveSheet().getRange("E" + e.range.getRow()).setValue("A320")
var email = "mail 1";
}
if (fal.indexOf("350")>-1) {
SpreadsheetApp.getActiveSheet().getRange("E" + e.range.getRow()).setValue("A350")
var email = "mail 2";
}
Logger.log("Emailing " + email[0]) // Enregistrer le courriel dans la log
feuille.getRange("H" + e.range.getRow()).setValue(Utilities.formatDate(new Date(), fuseauHoraire, "dd/MM/yyyy")); //Inscription dans la colonne H la date d'envoi du mail
// Envoyer le courriel
MailApp.sendEmail({
to: email.toString(),
cc: 'mail 3,mail 4',
subject: "blablabla à créer " + feuille.getRange("B" + e.range.getRow()).getValues(), // Objet ici
name: "L'équipe gestionnaire du HUB logistique", // Votre nom ici
body: "Bonjour, \nmerci de créer blabla pour l'équipement " + feuille.getRange("C" + e.range.getRow()).getValues() + " n° " + feuille.getRange("B" + e.range.getRow()).getValues() + " localisé en " + feuille.getRange("D" + e.range.getRow()).getValues() + ". \n\nCordialement,\nL'équipe HUB \n", // Corps du courriel ici
})
Logger.log("Envoyé") //
}
Logger.log("Mot déclencheur " + e.value + " compléter") //
}
}