Envoyer un e-mail à partir de Google Sheets lorsque la valeur d’une cellule change

Video send email when google sheet is updated

Il est très courant que vos ensembles de données dans Google Sheets aient des cellules que vous modifiez pour indiquer le mouvement des produits, les mises à jour et d’autres choses que vous souhaitez suivre. Si vous souhaitez pouvoir envoyer des e-mails lorsque vous modifiez une valeur de cellule, voici un guide simple pour le faire.

Notez que cette méthode utilise Lido pour détecter les modifications et déclencher une fonction d’envoi d’e-mail.

Comment envoyer un e-mail dans Google Sheets lorsque la valeur d’une cellule change

Dans cet exemple, nous enverrons automatiquement un e-mail à un membre de l’équipe une fois que l’état de sa tâche aura changé de « FALSE » à « TRUE ». Vous pouvez substituer vos propres valeurs tout en suivant.

1. Préparez votre feuille de calcul avec les données pertinentes pour votre e-mail

Pour cet exemple, nous voulons pouvoir envoyer des e-mails à un membre de l’équipe lorsque nous mettons à jour son statut de tâche de FALSE à TRUE.

Vos données Google Sheet doivent être disposées dans un tableau sans lignes ou espaces vides. La première ligne doit être vos en-têtes de colonne, qui ne peuvent pas contenir de caractères spéciaux ou de sauts de ligne.

Image

2. Créez un compte Lido

Lido est une nouvelle feuille de calcul conçue pour l’automatisation et entièrement compatible avec Google Sheets. Vous pouvez créer un compte gratuit sur Crawlan.com.

Nous utiliserons Lido pour envoyer des e-mails lorsque l’une de nos cellules passe de FALSE à TRUE.

3. Connectez votre feuille de calcul Google à Lido

Cliquez sur le bouton vert Connecter les données dans le coin supérieur gauche, puis cliquez sur Google Sheets.

Collez le lien de votre Google Sheets que vous avez créé précédemment et cliquez sur Suivant. Vous devrez vous connecter à un compte Google qui a accès à la feuille de calcul.

On vous demandera ensuite d’autoriser Lido à accéder à votre Google Sheets la première fois. Assurez-vous de cocher la case appropriée comme indiqué ici.

Ensuite, sélectionnez les colonnes de votre Google Sheet que vous souhaitez connecter à Lido. Lido mettra automatiquement à jour les enregistrements à partir de votre Google Sheet, donc ne vous inquiétez pas si vous prévoyez d’ajouter d’autres enregistrements.

Cliquez sur Ajouter des données et vos données de feuille de calcul ont maintenant été importées dans Lido en tant que Table.

4. Créez des colonnes pour le sujet et le corps de l’e-mail

Tout d’abord, créez les modèles de sujet et de corps de l’e-mail. Dans une nouvelle feuille de calcul, tapez les messages de sujet et de corps que vous souhaitez envoyer. Vous pouvez faire référence à différents noms de colonnes en tant que variables en utilisant cette syntaxe [@NomDeLaColonne]. Par exemple :

Modifiez ensuite les colonnes de sujet et de corps. Revenez à votre tableau et ajoutez une colonne Calculée pour « Sujet ».

Une colonne Calculée est un type de colonne spécial qui applique la même formule à chaque ligne.

La formule que nous voulons utiliser dans la colonne calculée est appelée STRINGTEMPLATE. Cette formule remplace les champs de vos modèles ([@Colonne]) par les valeurs pour chaque ligne.

La syntaxe de notre formule de colonne calculée est :

=STRINGTEMPLATE(cellule_du_modèle)

Où la cellule_du_modèle est l’adresse de la cellule du modèle que nous venons de créer.

N’oubliez pas d’ancrer absolument** cette référence comme Sheet1!$A$1 car nous voulons utiliser le même modèle pour chaque ligne.

Dans notre exemple, notre formule pour la nouvelle colonne Sujet est :

=STRINGTEMPLATE(Sheet1!$B$1)

Maintenant, vous avez des valeurs personnalisées pour le sujet et le corps pour chacun de vos destinataires !

5. Rédigez votre formule SENDGMAIL

Lido est meilleur que Google Sheets pour l’automatisation grâce à ses formules d’action uniques, qui vous permettent de déclencher des choses comme des e-mails et des messages Slack à l’aide de formules de feuille de calcul.

La formule pour envoyer un e-mail depuis Lido est :

=SENDGMAIL(<credential-expéditeur>, destinataire, sujet, corps, statut)

Dans notre exemple, cela donnera :

=SENDGMAIL(<credential-expéditeur>,B2,D2,E2,G2)

Créez une autre colonne calculée avec cette formule dans la colonne F.

Commencez à taper =SENDGMAIL(. Lorsque vous êtes dans le premier argument, cliquez sur le « + » pour ajouter une référence à l’expéditeur dans votre compte Gmail (ou Google Apps).

Lorsque vous avez terminé votre formule SENDGMAIL, elle devrait ressembler à ceci :

=SENDGMAIL(<credential-expéditeur>, B2, D2, E2, G2)

Assurez-vous de ne rester qu’à l’expéditeur et de ne pas afficher la formule SENDGMAIL si un e-mail a déjà été envoyé pour cette ligne. Cela garantira qu’un e-mail ne soit envoyé qu’une seule fois lorsque la valeur d’une cellule change lorsque vous automatisez cette colonne à l’étape suivante.

6. Ajoutez une logique de déclenchement conditionnel pour SENDGMAIL

Nous ne voulons pas envoyer d’e-mails à tout le monde, seulement à ceux qui ont respecté nos critères lorsque la valeur d’une cellule a changé. Les formules d’action Lido fonctionnent avec toutes les autres formules de feuille de calcul, nous pouvons donc créer une instruction IF pour que cela fonctionne.

Dans cet exemple, nous ne voulons envoyer des e-mails que si notre colonne « Task Done » est TRUE. Nous ajouterons une instruction IF à notre formule SENDGMAIL pour refléter cela :

=IF(condition=TRUE, SENDGMAIL(<credential-expéditeur>, destinataire, sujet, corps))

Notre nouvelle formule sera donc :

=IF(C2=TRUE, SENDGMAIL(<credential-expéditeur>,B2,D2,E2, G2))

Assurez-vous également de mettre à jour la logique de l’instruction IF dans votre colonne « Send Emails » afin que si un e-mail a déjà été envoyé pour cette ligne, nous n’affichions pas la formule SENDGMAIL. Cela garantira qu’un e-mail n’est envoyé qu’une seule fois lorsque la valeur d’une cellule change lorsque vous automatiserez cette colonne à l’étape suivante.

7. Créez une nouvelle automatisation

Maintenant que tout fonctionne dans notre feuille de calcul, la dernière étape consiste à créer une automatisation pour que tout s’exécute silencieusement en arrière-plan.

Cliquez sur l’icône du menu dans votre colonne « Send Email », puis sélectionnez Exécuter la colonne selon un horaire.

Cela ouvrira le panneau d’automatisation de Lido.

Dans cet exemple, chaque jour à 10 heures, Lido récupérera les dernières données de Google Sheets, vérifiera s’il existe des actions à exécuter en fonction de notre instruction IF, et déclenchera toutes les actions présentes dans notre colonne « Send Email ».

Envoyer un e-mail à partir d’une feuille de calcul Google lorsque la valeur d’une cellule change (méthode AppsScript)

1. Préparez votre feuille de calcul avec les données pertinentes pour votre e-mail

Image

Pour cet exemple, nous voulons pouvoir envoyer des e-mails à nos clients lorsque nous mettons à jour leur statut à « Shipped » dans la colonne E.

2. Accédez aux extensions et ouvrez Apps Script

Cela ouvrira un nouvel onglet où nous pouvons créer un code pour envoyer des e-mails sur Google Sheets.

3. Saisissez le code suivant

function sendMailEdit(e){
 if (e.range.columnStart != 5 || e.value != "Shipped") return;
 const rData = e.source.getActiveSheet().getRange(e.range.rowStart,1,1,4).getValues();
 let itemsOrdered = rData[0][2];
 let email = rData[0][0];
 let name = rData[0][1];
 let trackingNo = rData[0][3];
 let msg = "Hello, " + name + ". Your order: " + itemsOrdered + " is for shipping with tracking number " + trackingNo + ". Thank you for your purchase."

 MailApp.sendEmail(email, "Shipped Order", msg)
}

C’est ainsi que notre code fonctionne :

  • La ligne 1 crée une fonction appelée « sendMailEdit » qui s’exécute lorsque nous changeons la valeur d’une cellule
  • La ligne 2 est un test logique qui vérifie si notre valeur de cellule dans la colonne spécifiée est la valeur souhaitée (dans ce cas, lorsqu’une cellule est modifiée en « Shipped »). Remplacez « Shipped » et « columnStart » si nécessaire.
  • La ligne 3 permet à notre ensemble de données d’être traité comme un tableau
  • Les lignes 5 à 8 sont des colonnes dans notre feuille de calcul qui contiennent des informations sur les contenus
  • La ligne 9 récupère le contenu de notre feuille pour rédiger un message électronique avec le formulaire indiqué. Ajustez ce message si nécessaire.
  • La ligne 11 déclenche l’envoi d’un e-mail avec l’utilisation du script indiquant l’adresse e-mail du destinataire, le sujet et le contenu du message avec l’utilisation de variables assignées.

4. Enregistrez votre code en cliquant sur l’icône « Enregistrer le projet »

5. Dans le menu de gauche, allez dans « Déclencheurs » et cliquez sur « Ajouter un déclencheur »

6. Modifiez le déclencheur comme suit :

  • Choisissez quelle fonction exécuter : « sendMailEdit »
  • Source de l’événement : « Depuis la feuille de calcul »
  • Type d’événement : « À la modification »

7. Cliquez sur « Enregistrer ».

8. Pour exécuter votre e-mail, allez dans Google Sheets et testez le mot déclencheur.

L’e-mail devrait être envoyé au destinataire après le chargement et l’enregistrement de votre feuille de calcul Google.

Vous pouvez ajuster le code à d’autres valeurs de cellules si nécessaire pour déclencher un e-mail lorsqu’elles changent. Vous pouvez également modifier le même code et le déclencheur pour envoyer un e-mail à vous ou à toute autre personne qui doit être informée des modifications de votre Google Sheets. Voici un guide simple sur la façon de faire cela.

Envoyer une notification à votre équipe lorsque la valeur d’une cellule change dans Google Sheets

Dans cet exemple, un e-mail vous sera envoyé, ou à d’autres membres de l’équipe, lorsqu’une valeur change. À chaque fois qu’un statut est mis à jour en « Shipped », l’équipe sera informée du mouvement.

1. Ouvrez Apps Script et saisissez le code suivant dans l’éditeur :

function sendEditNotification(e){
 if (e.range.columnStart != 5 || e.value != "Shipped") return;
 const rData = e.source.getActiveSheet().getRange(e.range.rowStart,1,1,4).getValues();
 let itemsOrdered = rData[0][2];
 let email = "[email protected]";
 let name = rData[0][1];
 let trackingNo = rData[0][3];
 let msg = "La commande avec le numéro de suivi " + trackingNo + " a été mise à jour en expédiée."

 MailApp.sendEmail(email, "Mouvement de commande", msg)
}

Dans ce code, nous avons regroupé le contenu de notre fonction précédente pour se concentrer sur notre nouvelle fonction : sendEditNotification. Dans ce code, n’oubliez pas d’entrer votre adresse e-mail ou les adresses e-mail des personnes que vous souhaitez informer à la ligne 18 et modifiez le contenu du message e-mail si nécessaire.

2. Enregistrez votre projet

3. Dans le menu de gauche, allez dans « Déclencheurs » et cliquez sur « Ajouter un déclencheur »

4. Modifiez le déclencheur comme suit :

  • Choisissez quelle fonction exécuter : « sendMailEdit »
  • Source de l’événement : « Depuis la feuille de calcul »
  • Type d’événement : « À la modification »

5. Enregistrez votre déclencheur et testez la fonction en modifiant votre feuille de calcul.

Vous devriez maintenant pouvoir voir dans votre e-mail la notification.

Cela peut être utilisé pour des notifications simples, des rappels d’événements, le suivi des commandes, etc. Maintenant que nous avons à la fois les fonctions sendMailEdit et sendEditNotification en place, elles déclencheront la création du message électronique simultanément, de sorte que le destinataire et les propriétaires soient mis à jour en même temps. L’utilisation de ce générateur d’e-mails dans Google Sheets peut faciliter la manipulation de vos données et ouvrir un tout nouveau monde de possibilités.

Assurez-vous également de consulter notre article sur la façon d’envoyer des e-mails depuis Google Sheets si vous avez apprécié cet article. Alternativement, de nombreux lecteurs qui ont lu cet article ont également lu notre article sur la façon d’envoyer automatiquement des e-mails depuis Google Sheets.

Articles en lien