Microsoft 365 Formule envoie automatique de mail

Varona Rodriguez

XLDnaute Nouveau
Bonjour à tous
me revoici après les vacances avec ma demande non résolue et je reste bloqué

pour reprendre voir fichier joint :
- je souhaiterai si possible à la place des cellule fusionnées nom : "Bouton" d'avoir un bouton ou ce que je préfère m'expliquer comment en placer un
- dernière celui-ci avoir une formule qui reprendrait toutes les cellules (Vrai ou Oui) de la colonne E
et enverrait un mail (en fonction de l'adresse en colonne C)
avec un message prédéfini (ici cela pourrait être test01)
cela me permettrais d'adapter cette formule pour un tableau (sheet) de plus de 8000 lignes

merci pour votre aide
 

Pièces jointes

  • Classeur1.xlsx
    10.4 KB · Affichages: 12

GALOUGALOU

XLDnaute Accro
bonjour varona rodriguez bonjour le forum
un essai avec un envoie mail avec cdo
dans cette solution une boite gmail est nécessaire pour l'envoie des messages.
le gif est un tuto pour activer cdo dans le classeur.
cdo.gif


dans le classeur la réponse vrai m'a posé problème et n'ayant pas trouvé de solution, j'ai mis en place une formule pour stabiliser l’exécution des macros.

dans la feuille mail les colonnes a&b&c sont mises à jour par la boucle de la macro ventilation.
les colonnes d&e&f&g permettent la saisie d'un texte à définir qui sera le corps du message.
cordialement
galougalou
 

Pièces jointes

  • envoie mail.xlsm
    25.4 KB · Affichages: 10

Phil69970

XLDnaute Barbatruc
Bonjour varona Rodriguez, Galougalou, le forum

cela me permettrais d'adapter cette formule pour un tableau (sheet) de plus de 8000 lignes

**** ATTENTION **********
Pour une messagerie personnelle :
Le serveur SMTP de tous les opérateurs met une limite au nombre de personnes et de mail que vous pouvez envoyer.
En général autour de 300 messages par jour et jusqu’à 100 destinataires.
Certains opérateurs peuvent bloquer les boites mails en cas d'abus

@Phil69970
 

Varona Rodriguez

XLDnaute Nouveau
Bonjour à tous
je reviens vers vous pour un coup de pouce sur mon script sheet
je souhaiterai que lorsque j'exécute celui-ci, je souhaiterais que la date et si possible l'heure s'affiche dans la cellule D9 de mon tableau.
j'ai essayé plusieurs solution mais sans succès
voici mon script :

function sendEmails() {

// détermination de la ligne avec la dernière donnée dans la colonne A
var nbr_lignes = CountColA()

// envoi des mails
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Send_a_Mail');

var startRow = 2;
// ligne comprenant la première adresse mail à traiter
var numRows = nbr_lignes -1 ;
// ligne comprenant la dernière donnée dans la colonne A

var dataRange = sheet.getRange(startRow, 1, numRows, 6)
// détermination de la plage reprenant l'ensemble des données nécessaires pour l'envoi d'un mail - "ligne de départ - colonne de départ avec la colonne A =1 - ligne d'arrivée - colonne d'arriveé avec colonne A=1

var data = dataRange.getValues();
//var signature = Gmail.Users.Settings.SendAs.list("me").sendAs.filter(function(account){if(account.isDefault){return true}})[0].signature;

for (i in data) {
var row = data;
//- attention : la première colonne est la colonne 0

var emailAddress = row[2];
// colonne avec les adresses mails

var subject = row[3];
// colonne avec l'objet du mail

var message = row[4];
// colonne avec le contenu du mail

var testenvoi = row[5];
// colonne avec la valeur précisant si l'envoi doit être effectué ou non

//envoi d'un mail si la valeur de la variable envoi = 1 - dans le cas contraire, pas d'envoi
if (testenvoi == 1){
MailApp.sendEmail(emailAddress, subject, message,
{cc:'test@gmail.be'
})
//envoie de mails en CC au N+1 ou CP
}
}
}
function CountColA(){
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getValues();
for(var i = data.length-1 ; i >=0 ; i--){
if (data[0] != null && data[0] != ''){
return i+1 ;
}
}
}

Merci pour votre aide
 

Discussions similaires

Réponses
17
Affichages
2 K

Statistiques des forums

Discussions
314 499
Messages
2 110 247
Membres
110 711
dernier inscrit
chmessi