Google Docs, outil de traitement de texte basé sur le cloud, surpasse souvent les applications locales comme Microsoft Word grâce à ses possibilités d'automatisation via Google Apps Script. Ces scripts puissants permettent de gagner un temps précieux en automatisant la création de documents.
Découvrez trois scripts essentiels : générer un document à partir d'invitations utilisateur, importer des données Google Analytics dans un rapport, et créer un document à partir d'une feuille Google Sheets.
Pour les e-mails récurrents, rapports mensuels de ventes ou mises à jour hebdomadaires, un modèle automatisé est idéal. Créez un Google Doc modèle où les variables à remplir sont entourées de ##, comme ##nom##.

Dans ce modèle, ajoutez un script qui s'exécute à l'ouverture pour saisir les données via des invites.
Accédez à Outils > Éditeur de scripts.

Remplacez le code par celui-ci :
function onOpen() {
var ui = DocumentApp.getUi();
var nameResponse = ui.prompt('Entrez le nom du vendeur');
var client1Response = ui.prompt('Entrez le client 1');
var sales1Response = ui.prompt('Entrez les ventes 1');
var client2Response = ui.prompt('Entrez le client 2');
var sales2Response = ui.prompt('Entrez les ventes 2');
var client3Response = ui.prompt('Entrez le client 3');
var sales3Response = ui.prompt('Entrez les ventes 3');
var commissionResponse = ui.prompt('Entrez la commission');
var date = new Date();
// Copie du modèle (remplacez par votre ID)
var documentId = DriveApp.getFileById('VOTRE_ID_MODELE').makeCopy().getId();
// Renommer
DriveApp.getFileById(documentId).setName(nameResponse.getResponseText() + ' - ' + date + ' Rapport Ventes');
// Remplacer les placeholders
var body = DocumentApp.openById(documentId).getBody();
body.replaceText('##name##', nameResponse.getResponseText());
body.replaceText('##client1##', client1Response.getResponseText());
body.replaceText('##sales1##', sales1Response.getResponseText());
body.replaceText('##client2##', client2Response.getResponseText());
body.replaceText('##sales2##', sales2Response.getResponseText());
body.replaceText('##client3##', client3Response.getResponseText());
body.replaceText('##sales3##', sales3Response.getResponseText());
body.replaceText('##commission##', commissionResponse.getResponseText());
}L'ID du modèle est dans l'URL du document : docs.google.com/document/d/ID_ICI/edit.

Enregistrez (icône disquette), exécutez pour tester (autorisations requises). Les invites apparaissent ; un nouveau document est créé dans Drive.


Configurez le déclencheur : Modifier > Déclencheurs du projet actuel > Ajouter déclencheur, type À l'ouverture.

Pour les rapports de trafic web, utilisez un modèle avec placeholders comme ##users##.

Activez l'API Analytics : Ressources > Services Google avancés > Activer Google Analytics API, suivez les étapes Cloud Platform.

function generateReport() {
var tableId = 'ga:VOTRE_ID_ANALYTICS';
var startDate = getLastNdays(7);
var endDate = getLastNdays(0);
var date = new Date();
var results = Analytics.Data.Ga.get(
tableId,
startDate,
endDate,
'ga:users,ga:sessions,ga:pageviews',
{'dimensions': 'ga:date'}
);
var totals = results.totalsForAllResults;
var users = totals['ga:users'];
var sessions = totals['ga:sessions'];
var pageviews = totals['ga:pageviews'];
// Copie modèle
var documentId = DriveApp.getFileById('VOTRE_ID_MODELE').makeCopy().getId();
DriveApp.getFileById(documentId).setName(date + ' Rapport Site Web');
var body = DocumentApp.openById(documentId).getBody();
body.replaceText('##startdate##', startDate);
body.replaceText('##enddate##', endDate);
body.replaceText('##users##', users);
body.replaceText('##sessions##', sessions);
body.replaceText('##pageviews##', pageviews);
}
function getLastNdays(nDaysAgo) {
var today = new Date();
var past = new Date(today.getTime());
past.setDate(today.getDate() - nDaysAgo);
return Utilities.formatDate(past, 'GMT', 'yyyy-MM-dd');
}Remplacez les IDs. Testez, puis déclenchez hebdomadaire : Temporel > Programmer hebdomadaire.


Transférez des données Sheets vers Docs pour rapports.
Modèle avec ##client1## etc.

Exemple Sheet :

Dans Sheets : Outils > Éditeur de scripts.
function generateReport() {
var date = new Date();
var ss = SpreadsheetApp.openById('ID_SHEET');
var sheet = ss.getSheetByName('Sam');
var documentId = DriveApp.getFileById('ID_MODELE').makeCopy().getId();
DriveApp.getFileById(documentId).setName('Sam ' + date + ' Rapport Ventes');
var body = DocumentApp.openById(documentId).getBody();
var range = sheet.getRange('A2:B4');
body.replaceText('##nom##', 'Sam');
for (var i = 1; i < 4; i++) {
var clientCell = range.getCell(i, 1);
var client = clientCell.getValue();
body.replaceText('##client' + i + '##', client);
var salesCell = range.getCell(i, 2);
var sales = salesCell.getValue();
body.replaceText('##sales' + i + '##', sales);
}
}Testez (autorisations). Résultat :

Adaptez pour plusieurs onglets.
Google Docs gagne en puissance avec Apps Script. Les modèles sont clés pour l'efficacité. Explorez aussi les scripts Sheets pour plus d'automatisations.
[]