10 méthodes d’organisation professionnelle et personnelle avec Google Sheets et Google Apps Script
L’organisation est une compétence clé, aussi bien dans la vie professionnelle que personnelle. Une méthode d’organisation permet de structurer ses journées, ses projets, et ses priorités pour obtenir des résultats concrets et durables. Voici quelques meilleures méthodes d’organisation, enrichies de cas d’usage pratiques avec Google Sheets et Google Apps Script pour optimiser encore plus vos processus.
1. La méthode des 4P (Planning, Périmètre, Priorités, Progression)
Cette méthode vous aide à cadrer un projet dès le départ, en établissant un plan clair. Pour automatiser la gestion des tâches dans Google Sheets, vous pouvez créer un tableau listant les projets, leurs priorités, leur périmètre et leur progression. Grâce à Google Apps Script, vous pouvez automatiser l’envoi de notifications par e-mail lorsque des jalons sont atteints.
Exemple Google Apps Script :
Envoyer automatiquement un e-mail de rappel lorsque la date de fin d’un projet approche, basé sur les données saisies dans Google Sheets.
function envoyerRappel() {
const feuille = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Projets');
const donnees = feuille.getDataRange().getValues();
const aujourdHui = new Date();
donnees.forEach((ligne, index) => {
if (index === 0) return; // Ignorer la ligne d'en-tête
const dateLimite = new Date(ligne[3]); // Colonne D : Date de fin
const responsable = ligne[2]; // Colonne C : Responsable
const statut = ligne[4]; // Colonne E : Statut
const nomProjet = ligne[0]; // Colonne A : Nom du projet
// Envoyer un e-mail si la date de fin est dans 3 jours ou moins et que le projet n'est pas terminé
if (dateLimite - aujourdHui <= 3 * 24 * 60 * 60 * 1000 && statut !== 'Terminé') {
MailApp.sendEmail(
responsable,
`Rappel : Projet "${nomProjet}" à terminer bientôt`,
`Le projet "${nomProjet}" approche de sa date de fin prévue le ${ligne[3]}. Merci de vérifier son avancement.`
);
}
});
}
2. La méthode Kanban
Le Kanban permet de visualiser les tâches à réaliser sous forme de colonnes. Google Sheets peut servir de tableau Kanban avec des colonnes « À faire », « En cours », et « Terminé ». Une automatisation via Apps Script pourrait déplacer les tâches d’une colonne à l’autre en fonction de leur avancement.
Voici un exemple pratique de tableau Kanban dans Google Sheets avec Google Apps Script pour automatiser le déplacement des tâches entre les colonnes « À faire », « En cours », et « Terminé » :
Objectif : Automatiser l’envoi d’un rappel pour les tâches en cours ou à faire, et mettre à jour leur état selon la progression. L’utilisateur pourra manuellement déplacer les tâches entre les colonnes, mais vous pouvez utiliser un script pour vérifier si une tâche doit changer d’état en fonction des dates.
Apps Script pour le tableau Kanban :
Voici un script qui envoie des rappels par e-mail pour les tâches « À faire » et « En cours » dont la date d’échéance approche et qui met à jour l’état d’une tâche lorsqu’elle est terminée.
function gererKanban() {
const feuille = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Kanban');
const plageDonnees = feuille.getDataRange();
const donnees = plageDonnees.getValues();
const aujourdHui = new Date();
donnees.forEach((ligne, index) => {
if (index === 0) return; // Ignorer la première ligne d'en-tête
const etat = ligne[1]; // Colonne B : État
const dateEcheance = new Date(ligne[3]); // Colonne D : Date d'échéance
const responsable = ligne[4]; // Colonne E : Responsable
// Envoyer un e-mail de rappel pour les tâches "À faire" ou "En cours" avec une échéance dans les 3 jours
if ((etat === 'À faire' || etat === 'En cours') && dateEcheance - aujourdHui <= 3 * 24 * 60 * 60 * 1000) {
MailApp.sendEmail(responsable, 'Rappel : Tâche à compléter', `La tâche "${ligne[0]}" approche de sa date d'échéance (${ligne[3]}).`);
}
// Mise à jour automatique du statut si la tâche est terminée
if (etat === 'En cours' && dateEcheance < aujourdHui) {
feuille.getRange(index + 1, 2).setValue('Terminé');
}
});
}
3. La méthode Pomodoro
La méthode Pomodoro repose sur des cycles de 25 minutes de travail suivis de pauses courtes. Vous pouvez utiliser Google Sheets pour suivre vos sessions Pomodoro et mesurer votre productivité sur chaque tâche.
Exemple Google Sheets :
Créez un tracker Pomodoro avec Google Sheets et Google Apps Script implémentant la méthode Pomodoro pour une gestion efficace du temps. Il permet à l’utilisateur de personnaliser la durée des sessions de travail (Pomodoro) et des pauses. Le script suit chaque session dans Google Sheets et crée des événements correspondants dans Google Agenda pour bloquer automatiquement le temps de travail et de pause. Après 4 cycles Pomodoro, une pause longue est programmée pour optimiser les temps de repos. Cette automatisation aide à mieux organiser son travail, tout en gardant un suivi précis des sessions et des interruptions.
function demarrerPomodoro() {
const feuille = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Pomodoro');
// Vérification si la feuille existe, sinon la créer
if (!feuille) {
feuille = SpreadsheetApp.getActiveSpreadsheet().insertSheet('Pomodoro');
feuille.appendRow(['Session', 'Heure de début', 'Durée']);
}
const ui = SpreadsheetApp.getUi();
// Demander la durée du Pomodoro et de la pause
const reponsePomodoro = ui.prompt('Durée du Pomodoro (en minutes)', ui.ButtonSet.OK);
const reponsePause = ui.prompt('Durée de la pause (en minutes)', ui.ButtonSet.OK);
const dureePomodoro = parseInt(reponsePomodoro.getResponseText()) || 25;
const dureePause = parseInt(reponsePause.getResponseText()) || 5;
// Démarrer la première session Pomodoro
ui.alert(`Pomodoro 1 démarré ! Travaillez pendant ${dureePomodoro} minutes.`);
const heureDebut = new Date();
feuille.appendRow([`Pomodoro 1`, heureDebut, `Durée : ${dureePomodoro} minutes`]);
// Planifier la fin du Pomodoro avec un déclencheur
ScriptApp.newTrigger('finPomodoro')
.timeBased()
.after(dureePomodoro * 60 * 1000) // Convertir les minutes en millisecondes
.create();
}
// Fonction exécutée à la fin du Pomodoro grâce au déclencheur
function finPomodoro() {
const feuille = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Pomodoro');
const ui = SpreadsheetApp.getUi();
// Fin du Pomodoro
ui.alert('Pomodoro terminé ! Prenez une pause.');
// Planifier la fin de la pause
const dureePause = 5; // Durée de la pause en minutes (peut être rendue dynamique)
ScriptApp.newTrigger('finPause')
.timeBased()
.after(dureePause * 60 * 1000) // Convertir les minutes en millisecondes
.create();
}
// Fonction exécutée à la fin de la pause grâce au déclencheur
function finPause() {
const ui = SpreadsheetApp.getUi();
ui.alert('Pause terminée ! Reprenez votre travail.');
// Répéter ou continuer avec d'autres Pomodoros si nécessaire...
}
4. La méthode Timeboxing
Avec la méthode Timeboxing, vous bloquez des créneaux horaires dédiés à chaque tâche. Google Agenda est parfait pour cette méthode, mais vous pouvez aussi gérer votre emploi du temps dans Google Sheets. Utilisez Apps Script pour générer automatiquement des événements dans Google Agenda à partir de votre feuille de calcul.
Exemple Google Apps Script :
Créez un événement dans Google Agenda à partir de Google Sheets pour chaque tâche à planifier.
function creerEvenementsCalendrier() {
const feuille = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Tâches');
const donnees = feuille.getRange("A2:C").getValues(); // Colonne A : Titre, B : Date de début, C : Durée en heures
const calendrier = CalendarApp.getDefaultCalendar();
donnees.forEach((ligne, index) => {
const titreEvenement = ligne[0]; // Colonne A : Titre de la tâche
const heureDebut = new Date(ligne[1]); // Colonne B : Date de début
const dureeHeures = ligne[2]; // Colonne C : Durée en heures
// Vérifier si le titre, la date et la durée sont valides
if (titreEvenement && !isNaN(heureDebut.getTime()) && dureeHeures > 0) {
// Calculer l'heure de fin en fonction de la durée
const heureFin = new Date(heureDebut.getTime() + dureeHeures * 60 * 60 * 1000); // Durée en heures
// Créer un événement dans Google Agenda
calendrier.createEvent(titreEvenement, heureDebut, heureFin);
Logger.log(`Événement créé : ${titreEvenement}, de ${heureDebut} à ${heureFin}`);
} else {
Logger.log(`Données invalides pour la ligne ${index + 2}. Événement ignoré.`);
}
});
}
5. La méthode MoSCoW
Avec MoSCoW, vous pouvez facilement hiérarchiser vos tâches. Google Sheets peut vous aider à organiser les tâches par catégories : Must (doit être fait), Should (devrait être fait), Could (pourrait être fait), Won’t (ne sera pas fait). L’automatisation Apps Script peut ensuite générer un rapport hebdomadaire sur la progression.
Script pour générer un rapport hebdomadaire :
Ce script va regrouper les tâches par catégorie (Must, Should, Could, Won’t) et envoyer un rapport par e-mail chaque semaine, résumant la progression des tâches.
function genererRapportMoSCoW() {
const feuille = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('MoSCoW');
const donnees = feuille.getDataRange().getValues();
let must = [];
let should = [];
let could = [];
let wont = [];
// Regrouper les tâches par catégorie
donnees.forEach((ligne, index) => {
if (index === 0) return; // Ignorer la première ligne (en-têtes)
const nomTache = ligne[0];
const categorie = ligne[1];
const statut = ligne[2];
switch (categorie) {
case 'Must (doit être fait)':
must.push(`${nomTache} - Statut: ${statut}`);
break;
case 'Should (devrait être fait)':
should.push(`${nomTache} - Statut: ${statut}`);
break;
case 'Could (pourrait être fait)':
could.push(`${nomTache} - Statut: ${statut}`);
break;
case 'Won’t (ne sera pas fait)':
wont.push(`${nomTache} - Statut: ${statut}`);
break;
}
});
// Générer le rapport
const rapport = `
Rapport Hebdomadaire MoSCoW :
MUST (Doit être fait) :
${must.length > 0 ? must.join('\n') : 'Aucune tâche.'}
SHOULD (Devrait être fait) :
${should.length > 0 ? should.join('\n') : 'Aucune tâche.'}
COULD (Pourrait être fait) :
${could.length > 0 ? could.join('\n') : 'Aucune tâche.'}
WON'T (Ne sera pas fait) :
${wont.length > 0 ? wont.join('\n') : 'Aucune tâche.'}
`;
// Envoyer le rapport par e-mail
MailApp.sendEmail('votre.email@exemple.com', 'Rapport Hebdomadaire MoSCoW', rapport);
}
6. Le plan d’action
Créez un plan d’action détaillé dans Google Sheets, avec des dates cibles et des responsables assignés.
Ajoutez un script pour envoyer automatiquement des rapports hebdomadaires aux parties prenantes.
function envoyerRapportHebdomadaire() {
const feuille = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Plan d’action');
// Vérifier si la feuille existe
if (!feuille) {
Logger.log("La feuille 'Plan d’action' est introuvable.");
return;
}
const donnees = feuille.getDataRange().getValues();
const aujourdHui = new Date();
const rapportParResponsable = {};
// Parcourir chaque tâche du plan d’action
donnees.forEach((ligne, index) => {
if (index === 0) return; // Ignorer la première ligne (en-têtes)
const tache = ligne[0];
const responsable = ligne[1];
const dateLimite = new Date(ligne[2]);
const statut = ligne[3];
// Calculer le temps restant avant la date limite
const joursRestants = Math.ceil((dateLimite - aujourdHui) / (1000 * 60 * 60 * 24));
// Si la tâche est "En cours" ou "Non commencée" et que la date limite est dans moins de 7 jours
if (statut !== 'Terminé' && joursRestants <= 7 && joursRestants >= 0) {
const infoTache = `Tâche: ${tache} | Date limite: ${dateLimite.toLocaleDateString()} | Statut: ${statut} | Jours restants: ${joursRestants}`;
// Ajouter cette tâche au rapport du responsable
if (!rapportParResponsable[responsable]) {
rapportParResponsable[responsable] = [];
}
rapportParResponsable[responsable].push(infoTache);
}
});
// Envoyer un rapport personnalisé à chaque responsable
for (const responsable in rapportParResponsable) {
const rapport = rapportParResponsable[responsable].join('\n');
const message = `
Bonjour ${responsable},
Voici votre rapport hebdomadaire concernant les tâches du plan d'action pour cette semaine :
${rapport}
Cordialement,
L’équipe de gestion du projet
`;
// Envoyer l'email
MailApp.sendEmail(responsable + '@exemple.com', 'Rapport hebdomadaire du plan d’action', message);
}
}
7. Le rétroplanning
Le rétroplanning consiste à planifier en partant de la date de fin du projet et à calculer les dates clés en remontant le temps. Google Sheets peut être utilisé pour créer ce rétroplanning, et un script Google Apps Script peut automatiser le calcul des dates à partir de la date de fin du projet.
• La date de fin du projet est saisie manuellement pour la première tâche (“Livraison finale”).
• Les dates pour les autres tâches sont calculées automatiquement en fonction de leur durée et de la date de la tâche suivante.
function calculerRetroplanning() {
const feuille = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Rétroplanning');
const donnees = feuille.getRange('A2:C' + feuille.getLastRow()).getValues();
// Obtenir la date de fin (dernière tâche avec une durée de 0)
let dateFin = null;
donnees.forEach(ligne => {
if (ligne[1] === 0) {
dateFin = new Date(ligne[2]); // La date de fin est dans la colonne C
}
});
if (!dateFin) {
Logger.log('La date de fin du projet n\'est pas définie.');
return;
}
// Remonter le temps pour calculer les dates limites
let dateReference = dateFin;
for (let i = donnees.length - 1; i >= 0; i--) {
const duree = donnees[i][1]; // Durée en jours
if (duree > 0) {
const dateCalculée = new Date(dateReference);
dateCalculée.setDate(dateReference.getDate() - duree);
donnees[i][2] = dateCalculée; // Stocker la date calculée
dateReference = dateCalculée; // Mettre à jour la date de référence pour la tâche suivante
}
}
// Insérer les nouvelles dates dans la feuille
feuille.getRange('C2:C' + feuille.getLastRow()).setValues(donnees.map(ligne => [ligne[2]]));
Logger.log('Rétroplanning mis à jour avec succès.');
}
Imaginons que la date de livraison finale soit le 31 décembre 2024. Voici à quoi ressemblera votre feuille après exécution du script :
8. La matrice RACI
La matrice RACI est un outil utile pour clarifier les rôles et responsabilités au sein d’une équipe pour chaque tâche ou projet. Elle se décompose ainsi :
• Responsible : la personne qui fait le travail.
• Accountable : la personne qui est propriétaire du résultat (souvent une seule personne).
• Consulted : les personnes consultées pour leur expertise.
• Informed : les personnes qui doivent être informées des résultats.
Utilisez Google Sheets pour définir les rôles et responsabilités de chaque membre de l’équipe avec la matrice RACI. Apps Script peut vous aider à automatiser la génération d’un document synthétisant les responsabilités de chacun dans Google Docs.
function genererDocumentRACI() {
const feuille = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('RACI');
const donnees = feuille.getDataRange().getValues();
// Créer un nouveau document Google Docs
const doc = DocumentApp.create('Synthèse des Responsabilités - Matrice RACI');
const body = doc.getBody();
// Titre du document
body.appendParagraph('Synthèse des Responsabilités - Matrice RACI').setHeading(DocumentApp.ParagraphHeading.HEADING1);
// Parcourir les tâches et ajouter les informations dans le document
donnees.forEach((ligne, index) => {
if (index === 0) return; // Ignorer la première ligne (en-têtes)
const tache = ligne[0];
const responsable = ligne[1];
const accountable = ligne[2];
const consulted = ligne[3];
const informed = ligne[4];
// Ajouter une section pour chaque tâche
body.appendParagraph(`Tâche : ${tache}`).setHeading(DocumentApp.ParagraphHeading.HEADING2);
body.appendParagraph(`- Responsable : ${responsable}`);
body.appendParagraph(`- Accountable : ${accountable}`);
body.appendParagraph(`- Consulted : ${consulted}`);
body.appendParagraph(`- Informed : ${informed}`);
body.appendParagraph(''); // Saut de ligne
});
// Envoi du lien vers le document par email
const url = doc.getUrl();
MailApp.sendEmail('votre.email@exemple.com', 'Synthèse des responsabilités RACI', `Le document RACI a été généré. Vous pouvez le consulter ici : ${url}`);
}
9. La méthode Ivy Lee
La méthode Ivy Lee est une technique de gestion du temps qui vous demande de lister vos six tâches les plus importantes chaque jour et de vous concentrer sur leur exécution, une à la fois. Pour automatiser ce processus avec Google Sheets et Apps Script, nous pouvons créer un tableau de bord hebdomadaire qui résume les tâches accomplies et leur progression.
Créez une feuille de calcul avec vos 6 tâches principales chaque jour, et suivez votre progression. Google Sheets et Apps Script peuvent générer un tableau de bord quotidien et hebdomadaire de productivité basé sur ces données.
Le script récupère les tâches pour chaque jour de la semaine dans l’onglet “Tâches quotidiennes”. Il analyse ensuite les 6 tâches pour voir combien sont marquées comme accomplies (avec un “✓” au début de la tâche).
10. La méthode Johnny-Decimal
La méthode Johnny.Decimal est un système d’organisation qui utilise une classification numérique pour organiser des fichiers ou des informations. Elle est particulièrement utile pour organiser des dossiers, des fichiers ou des projets de manière claire et facile à retrouver. Voici une explication plus détaillée de cette méthode et un exemple d’automatisation avec Google Apps Script pour Google Drive.
Principe de la méthode Johnny.Decimal
Le système Johnny.Decimal se base sur la numérotation pour classer les éléments en catégories et sous-catégories. Chaque fichier ou document reçoit un identifiant unique basé sur ce schéma :
- Les domaines principaux (0-9) : Vous commencez par créer des domaines larges, chacun numéroté de 00 à 99. Par exemple :
- 10-19 : Projets
- 20-29 : Documentation
- 30-39 : Finances
- Les sous-catégories (00-99) : Chaque domaine contient des sous-catégories plus spécifiques, numérotées de 00 à 99. Par exemple :
- 10-19 Projets
- 10.01 : Projets en cours
- 10.02 : Projets terminés
- 20-29 Documentation
- 20.01 : Guides d’utilisation
- 20.02 : Rapports techniques
Chaque document reçoit ainsi un identifiant unique basé sur la catégorie et la sous-catégorie à laquelle il appartient, ce qui rend l’organisation très claire. Par exemple, un fichier de projet pourrait être nommé : 10.01 – Rapport de projet 2024.
Automatisation avec Google Apps Script
Vous pouvez automatiser le renommage de vos fichiers Google Drive selon la méthode Johnny.Decimal. Voici un exemple de script qui renomme les fichiers dans un dossier Drive en suivant cette structure.
Script pour renommer des fichiers Google Drive avec la méthode Johnny.Decimal
function renommerFichiersJohnnyDecimal() {
const dossierID = 'ID_DU_DOSSIER'; // Remplacer par l'ID du dossier Drive
const dossier = DriveApp.getFolderById(dossierID);
const fichiers = dossier.getFiles();
// Configuration des catégories et sous-catégories Johnny.Decimal
const categories = {
'Projets': '10',
'Documentation': '20',
'Finances': '30'
};
const sousCategories = {
'Projets en cours': '10.01',
'Projets terminés': '10.02',
'Guides d’utilisation': '20.01',
'Rapports techniques': '20.02'
};
// Parcourir chaque fichier dans le dossier
while (fichiers.hasNext()) {
const fichier = fichiers.next();
const nomActuel = fichier.getName();
// Exemple simple : Renommer les fichiers en utilisant la sous-catégorie
if (nomActuel.includes('Rapport')) {
const nouveauNom = `${sousCategories['Projets en cours']} - ${nomActuel}`;
fichier.setName(nouveauNom);
} else if (nomActuel.includes('Guide')) {
const nouveauNom = `${sousCategories['Guides d’utilisation']} - ${nomActuel}`;
fichier.setName(nouveauNom);
}
}
}
La méthode Johnny.Decimal est un moyen puissant de structurer et d’organiser vos fichiers Google Drive. En automatisant le processus avec Google Apps Script, vous pouvez renommer rapidement vos fichiers en suivant une structure logique, facilitant ainsi la gestion des documents et leur recherche.
L’organisation est la clé de la productivité, que ce soit dans un cadre professionnel ou personnel. Grâce à l’intégration de Google Sheets et Google Apps Script, il est possible de structurer, automatiser et optimiser vos tâches de manière significative. En adoptant l’une ou plusieurs des méthodes d’organisation présentées dans cet article, vous pouvez non seulement mieux gérer vos projets, mais aussi gagner en efficacité au quotidien. Que ce soit avec le rétroplanning, la méthode Kanban ou la matrice RACI, chaque outil peut être adapté à vos besoins spécifiques.
Pour vous aider à commencer, j’ai préparé un Google Sheets qui illustre ces méthodes. N’hésitez pas à le consulter et à l’utiliser comme base pour vos propres projets :
Accédez au Google Sheets d’exemple ici.
Soutenez mon travail
Si cet article vous a été utile et que vous souhaitez soutenir mon travail, vous pouvez me remercier en faisant un don via PayPal. Chaque contribution est grandement appréciée et m’aide à continuer à partager des astuces et conseils sur ce blog. Merci pour votre soutien !
L’Atelier Informatique vous accompagne dans vos projets technologiques en vous proposant des tutoriels et des solutions pour optimiser vos tâches quotidiennes.