Automatiser Google Sheets et Gmail avec Google Apps Script

Générez un script Google Apps Script prêt à coller : il lit votre feuille, envoie des e-mails ou crée des événements, tourne sur un déclencheur, évite les doublons, avec mode test et installation. Conçu pour ChatGPT, Claude, Gemini et Microsoft Copilot. Il comprend 4 variables personnalisables et vous pouvez le copier gratuitement en un clic.

Intermédiaire · Code · En attente de relecture éditoriale

Prompt

Agis comme développeur expert de Google Apps Script et Google Workspace qui écrit des automatisations robustes pour des équipes non techniques.

Contexte :
- Ce que je veux automatiser : {{tache}}
- Structure de la feuille (nom de l'onglet et colonnes avec une ligne d'exemple) : {{feuille}}
- Quand le script doit s'exécuter : {{declencheur}}
- Services concernés (Gmail, Agenda, Drive, Docs, Forms) : {{services}}

Livrables :
1. Un résumé du flux en 4 à 6 étapes et les hypothèses que tu fais sur les données.
2. Le code Apps Script complet (JavaScript V8) avec :
   - Un bloc CONFIG en tête (nom de l'onglet, colonnes, expéditeur, objet) modifiable sans toucher à la logique.
   - Une lecture en bloc avec getValues() et une écriture en bloc, pas cellule par cellule.
   - Une colonne de statut pour marquer les lignes traitées et éviter les doublons si le script tourne deux fois.
   - Un mode test (DRY_RUN) qui journalise ce qu'il ferait sans rien envoyer.
   - Une gestion des erreurs ligne par ligne, des journaux avec console.log et un récapitulatif final.
   - LockService en cas de risque d'exécutions simultanées.
3. Une fonction qui crée le déclencheur par code, et l'alternative manuelle depuis le panneau des déclencheurs.
4. L'installation pas à pas : Extensions > Apps Script, coller, enregistrer, autoriser (explique quelles autorisations seront demandées et pourquoi).
5. Les limites à garder en tête : quotas d'envoi quotidiens et durée d'exécution maximale selon le type de compte ; écris [À VÉRIFIER dans la documentation des quotas Google] plutôt que des chiffres précis.
6. Un plan de test avec 3 lignes d'exemple, dont une avec des données vides ou erronées.

Contraintes :
- Aucune bibliothèque externe ni service payant.
- Ne demande et ne stocke jamais de mot de passe dans le code.
- Si la structure de la feuille n'est pas claire, pose-moi la question avant d'écrire le code.

Format : sections numérotées, le code dans un seul bloc et des commentaires en français.

Comment l'utiliser

Décrivez vos colonnes avec une vraie ligne (sans données personnelles). Lancez d’abord le script avec DRY_RUN activé, vérifiez le journal, puis désactivez-le et créez le déclencheur.

Exemple d'utilisation

Tâche : rappel par e-mail 3 jours avant l’échéance de chaque facture · Feuille : onglet « Factures » avec client, e-mail, montant en euros, échéance, statut · Déclencheur : tous les jours à 8 h · Services : Gmail.

Exemple de résultat

2. Code (Apps Script, V8)

const CONFIG = {
  SHEET_NAME: 'Inscriptions',
  STATUS_COL: 5,            // A=nom, B=e-mail, C=cours, D=date de début, E=statut
  SUBJECT: 'Bienvenue dans votre cours',
  DRY_RUN: true,            // set to false once the test run looks right
};

function sendWelcomeEmails() {
  const lock = LockService.getScriptLock();
  if (!lock.tryLock(30 * 1000)) return;           // another run is in progress
  try {
    const sheet = SpreadsheetApp.getActive().getSheetByName(CONFIG.SHEET_NAME);
    const lastRow = sheet.getLastRow();
    if (lastRow < 2) return;
    const rows = sheet.getRange(2, 1, lastRow - 1, CONFIG.STATUS_COL).getValues();
    let sent = 0;
    const statuses = rows.map(([name, email, course, start, status], i) => {
      if (status) return [status];                // already processed: skip
      try {
        if (!/^[^@\s]+@[^@\s]+\.[^@\s]+$/.test(email)) throw new Error('invalid email');
        const date = Utilities.formatDate(new Date(start), Session.getScriptTimeZone(), 'dd/MM/yyyy');
        const body = `Bonjour ${name},\n\nBienvenue dans le cours « ${course} ». Nous commençons le ${date}.`;
        if (CONFIG.DRY_RUN) { console.log(`[DRY_RUN] would email ${email}`); return ['']; }
        GmailApp.sendEmail(email, CONFIG.SUBJECT, body);
        sent++;
        return ['ENVOYÉ ' + new Date().toISOString()];
      } catch (e) {
        console.log(`Row ${i + 2}: ${e.message}`);
        return ['ERREUR : ' + e.message];
      }
    });
    sheet.getRange(2, CONFIG.STATUS_COL, statuses.length, 1).setValues(statuses); // one bulk write
    console.log(`Done: ${sent} sent out of ${rows.length} rows`);
  } finally {
    lock.releaseLock();
  }
}

function createTrigger() {
  ScriptApp.newTrigger('sendWelcomeEmails')
    .forSpreadsheet(SpreadsheetApp.getActive()).onFormSubmit().create();
}

La colonne de statut empêche les doublons si le script tourne deux fois. L’invitation Google Agenda s’ajoute dans la même boucle une fois le calendrier du cours confirmé → [À COMPLÉTER]…

Informations clés

Catégorie
Programmation et développement · Automatisations
Type de résultat
Code
Niveau
Intermédiaire
Conçu pour
ChatGPT, Claude, Gemini et Microsoft Copilot
Vérifié sur
En attente de vérification éditoriale
Variables
Ce qu’il faut automatiser, Structure de la feuille, Déclencheur et Services concernés
Langue
Français
Prix
Gratuit, sans inscription
Mis à jour
07/11/2026

Questions fréquentes

Faut-il savoir programmer pour utiliser le script ?

Pas vraiment : il suffit de coller le code, d’ajuster le bloc CONFIG et d’accorder les autorisations. Testez-le tout de même sur une copie de la feuille avant de l’utiliser avec de vraies données.

Pourquoi le script demande-t-il autant d’autorisations ?

Apps Script demande l’accès à chaque service utilisé par le code, comme Gmail ou Agenda. Relisez la liste : s’il demande quelque chose d’inutile, le code peut être ajusté pour restreindre les autorisations.

À quoi sert ce prompt ?

Générez un script Google Apps Script prêt à coller : il lit votre feuille, envoie des e-mails ou crée des événements, tourne sur un déclencheur, évite les doublons, avec mode test et installation.

Avec quels outils d'IA fonctionne-t-il ?

Il est conçu pour ChatGPT, Claude, Gemini et Microsoft Copilot. Nous ne l'avons pas encore vérifié sur ces outils ; les résultats peuvent donc varier de l'un à l'autre.

Comment personnaliser le prompt ?

Cliquez sur « Personnaliser » et remplissez les variables (Ce qu’il faut automatiser, Structure de la feuille, Déclencheur et Services concernés). Le texte se met à jour instantanément et vous pouvez ensuite le copier en un clic. Les valeurs sont stockées uniquement dans votre navigateur.

Faut-il de l'expérience pour l'utiliser ?

Il est de niveau intermédiaire : il vaut mieux connaître le sujet pour fournir un bon contexte et relire le résultat d'un œil critique.

Ce prompt est-il gratuit ?

Oui. Tous les prompts de HomeCasa Prompts sont gratuits, sans inscription ni abonnement. Vous pouvez aussi les utiliser dans des projets professionnels.

Puis-je me fier au résultat de l'IA ?

Considérez-le comme un brouillon de qualité : vérifiez toujours les données, les chiffres et les affirmations importantes avant de publier ou de prendre des décisions.

Prompts similaires