Envoi d'un mail si la valeur n'est pas compris dans un intervalle

Bonjour,

J'aimerai svp avoir une modification d'un script que j'ai vu dans le forum pour l'adapter à mon fichier.

Le but c'est d'envoyer une notification quand la valeur du relevé n'est pas comprise dans l'intervalle [35075373330;35927293300] par exemple.

Voici le code et le lien:

function onOpen(e) {

var ui = SpreadsheetApp.getUi();

ui.createMenu('***EMAILS***')

.addItem('Alerter ... ', 'envoi')

.addToUi();

}

function envoi1() {

var feuille = SpreadsheetApp.getActiveSheet();

var derC = feuille.getLastColumn()

for (var col=1;col<derC;col=col+1){

if (feuille.getRange(8,col,1,1).getValue()<350,753733333333) {

var dest = (feuille.getRange(3,col+1,1,1).getValue())

GmailApp.sendEmail(dest, 'Message d\'alerte', 'Valeur hors limite de surveillance') ;

}

}

}

https://docs.google.com/spreadsheets/d/1RZ1dQit8TNjEEkQ3r-BVqSC27zexiIE32TGtHXfjOR8/edit?usp=sharing

En vous remerciant d'avance.

Bonjour,

à qui veux-tu envoyer l'email ? ... enfin je ne veux pas savoir qui, mais juste si c'est un destinataire "fixe" que l'on fige dans le script (ou dans une seule cellule) ou un destinataire variable selon la colonne

à tester

function onOpen(e) {
  var ui = SpreadsheetApp.getUi();
  ui.createMenu('***EMAILS***')
  .addItem('Alerter ... ', 'envoi1')
  .addToUi();
}

function envoi1() {
  var feuille = SpreadsheetApp.getActiveSheet();
  var derC = feuille.getLastColumn()
  for (var col=4;col<derC;col++){
    if ( (feuille.getRange(8,col,1,1).getValue()<350753733333333) || (feuille.getRange(8,col,1,1).getValue()>35927293300) ){
      var dest = "xxxxxxxx@gmail.com"
      GmailApp.sendEmail(dest, 'Message d\'alerte', 'Valeur hors limite de surveillance ' + feuille.getRange(8,col,1,1).getValue() + ' le ' + (feuille.getRange(5,col,1,1).getDisplayValue() + ' à ' + feuille.getRange(6,col,1,1).getDisplayValue()) ) ;
    }
  }
}

Bonjour,

je vous remercie pour votre réactivité.

J'aimerai envoyer un mail à un compte gmail autre que le mien svp.

renseigne le dans cette ligne

var dest = "xxxxxxxx@gmail.com"
mais si tu veux voir le rendu, commence à mettre le tien

Merci j'ai mis le mien. Mais à chaque fois j'ai ce message de demande d'autorisation qui apparait.

image

Je ne reçois pas de demande dans ma messagerie. Pouvez vous m'aider à régler ce problème d'autorisation svp?

En vous remerciant d'avance.

va dans outils > editeur de scripts, là où est écrit le programme

fais exécuter n'importe quelle fonction

ensuite tu autorises ... jusqu'au bout (avancé)

Je vous remercie. Le problème est résolu. Je reçois des mails sauf que malgré que la valeur soit contenue dans l'intervalle défini il y une alerte

curieux, ce n'était pas mon cas de mémoire lors des tests

j'ai bien mis

(feuille.getRange(8,col,1,1).getValue()<350753733333333) || (feuille.getRange(8,col,1,1).getValue()>35927293300)

|| signifiant OU

Je pense que le ET conviendrai surement vu qu'il ne m'envoie pas les bonnes valeurs. Pourriez vous s'il vous plait me dire comment est représenté le Et dans ce langage?

Merci

&&

= ET

Je vous remercie, le programme fonctionne.

S'il vous plait, j'aimerai savoir si vous avez des recommandations pour rendre se programme active sans que l'on ai à appuyer sur un bouton pour qu'il se mette en marche ?

Merci

Jai essayé de changer les paramètres de déclencheurs mais je ne trouve pas ce que je veux. Je vous remercie pour votre aide

Bien sûr, mais attention, sur quelle modification lances-tu la fonction ? il faut peut-être aussi mettre dans une colonne un indicateur que l'eamil a été envoyé pour éviter les répétition ...

Donc ajouter dans le programme la colonne c'est ca? Parce que dans le déclencheur j'ai pas la possibilité de choix des colonnes.

Oui, et ajouter aussi le test pour ne pas envoyer 2 fois.

J'ai réfléchi à comment procéder en modifiant la valeur de colonne dans la boucle for mais ca ne fonctionne pas.

ma question reste :

sur quelle modification lances-tu la fonction ?

ou plus généralement, quand et comment la fonction sera-t-elle déclenchée ? à l'ouverture du fichier ? lors de l'introduction d'une valeur ? laquelle car il y a toute la ligne ? la dernière entrée ?

J'aimerai s'il vous plait que la fonction soit déclenchée lors de l'introduction d'une valeur sur la ligne "relevé " (la dernière ligne).

Je vous remercie d'avance.

Rechercher des sujets similaires à "envoi mail valeur pas compris intervalle"