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.