jeudi 19 avril 2012

Gestionnaire de taches sous Google Spreadsheet

6 commentaires
Google Spreadsheet n'est pas qu'un outil que l'on peut utiliser à titre personnel et qui se limiterait à des petits tableaux. La suite Google Docs est intégrée à Google Apps et on peut en avoir une utilisation professionnelle pour créer des tableaux utilisable dans le cadre de son activité pro comme sous Excel.

Au travail on a tous des taches à réaliser, le chef de projet pour suivre l'avancement, des taches personnels qu'il faut noter pour ne pas les oublier, etc... Voici un gestionnaire de taches fait sous Google Spreadsheet qui permet de suivre une liste de taches, des les associer à un projet et d'avoir un statut.

Le fichier se nomme Gestionnaire de taches v1.0 (voir plus bas pour le téléchargement) et est construit pour permettre à une personne de gérer ses taches ou celles d'un groupe.
  • La saisie des taches se fait par un formulaire se trouvant dans la feuille "Formulaire"
 
  • Les taches sont stockées dans un tableau reprenant les informations saisies
Dans ce tableau la colonne statut permet de savoir si une tache est en retard (rouge), en retard mais re-planifiée à une date supérieure à la date du jour (orange), en cours (blanc) ou finie (vert).
  • Il sera possible d'archiver les taches pour dégager de la place dans le tableau principal
Pour cela il faut mettre un 'x' dans la colonne ID et cliquer sur le bouton archiver. Plusieurs taches peuvent être archivées en même temps.

  • Messages d'erreur et d'information
Lors de l'ajout d'une tache ou de l'archivage un message d'information s'affiche en bas à droite de l'écran, en cas d'erreur une pop-up s'affiche.
  • Navigation
On peut naviguer dans le fichier par les onglets en bas ou bien en utilisant les boutons dans les feuilles.
  • Aide sur le fichier
Un onglet 'Aide' regroupe les informations relatives à l'utilisation du fichier, bien lire la partie 'Attention'.
  • Complément d'informations
Pour utiliser ce fichier il faudra avoir un compte Google, il contient des scripts et ils ne peuvent être exécutés que si on a un compte google.
  • Partage des informations
Comme on est dans Google Spreadsheet on peut facilement partager la feuille "Taches" et ainsi permettre à différentes personnes de la consulter.Allez dans "Fichier" puis "Publier sur le web", bien choisir la bonne feuille.
C'est pratique sur un projet par exemple, seul le chef de projet à le droit de modifier les taches et peut en faire le suivi mais tout le monde peut consulter le statut. On a ainsi une seule source d'information commune.
  • Téléchargement du fichier
Pour récupérer le fichier il faut cliquer sur le lien ci-dessous puis aller dans "Fichier" et choisir "Créer une copie". La copie apparaitra dans son compte Google. Si vous n'avez pas cette option c'est que vous n'êtes pas connecté à un compte Google, connectez vous.

Lien : Gestionnaire de taches v1.0
EDIT : Il n'est plus nécessaire de réaliser le copier/coller du script comme présenté dans la vidéo.

Regarder la vidéo pour l'installation et l'utilisation du gestionnaire de taches.
 
Ci dessous le script à copier (menu Outils puis Editeur de Script) :
function TaskManager() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sform = ss.getSheetByName('Formulaire');
  var stask = ss.getSheetByName('Taches');
  var errormessage = "";
  //var sarch = ss.getSheetByName('Archive');
  if(sform.getRange("C5").getValue() != "" && sform.getRange("C6").getValue() != ""){
    try{
    stask.insertRowBefore(9);
  sform.getRange("C4").copyTo(stask.getRange("B9"), {contentsOnly:true});
  sform.getRange("C5").copyTo(stask.getRange("H9"), {contentsOnly:true});
  sform.getRange("C7").copyTo(stask.getRange("D9"), {contentsOnly:true});
  sform.getRange("C6").copyTo(stask.getRange("C9"), {contentsOnly:true});
  sform.getRange("C8").copyTo(stask.getRange("E9"), {contentsOnly:true});
  sform.getRange("C9").copyTo(stask.getRange("F9"), {contentsOnly:true});
  stask.getRange("A9").setValue(sform.getRange("E1").getValue()+1);
  stask.getRange("G9").setFormula('=if(J9<>"";3;if(H9>$J$1;0;if(I9>$J$1;1;2)))');
  stask.sort(8);
  sform.getRange(5,3,5,1).clear();
  sform.getRange(5,3,5,1).setBorder(true,true,true,true,true,true);
    } catch(e){
      errormessage = e.message;
      }
    if(errormessage == ""){
        ss.toast("La tache a été ajoutée avec succès.", "Rapport", 3);
      }else{
        Browser.msgBox("Erreur lors de l'ajout de la tache. Message d'erreur : " + errormessage);
      }
  }else{
    Browser.msgBox("Les champs \"Date de réalisation\" et \"Tache\" sont obligatoires.");
  }
}
function Archive() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var stask = ss.getSheetByName('Taches');
  var sarch = ss.getSheetByName('Archive');
  var i = 0; var p = 0;
  while(stask.getRange(8+i,1).getValue() != ""){
    if(stask.getRange(8+i,1).getValue() == "x"){
      sarch.insertRowBefore(2);
      stask.getRange(8+i,1,1,11).copyTo(sarch.getRange("A2"), {contentsOnly:true});
      stask.deleteRow(8+i);
      p++;
    }else{   
      i++;
    }
  }
  if(p == 0){
    Browser.msgBox("Ajouter un x à la place de l'ID sur une ou plusieurs taches pour les archiver");
  }else{
    ss.toast("Nombre de taches archivées : " + p , "Rapport", 3);
  }
}
function gotoForm(){
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  ss.setActiveSheet(ss.getSheetByName('Formulaire'));
}
function gotoTask(){
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  ss.setActiveSheet(ss.getSheetByName('Taches'));
}

6 Responses so far

  1. pao says:

    Bonjour, encore merci pour ce document qui est très simple d'utilisation et très efficace.
    Mais gérant beaucoup de projet à la fois, j'aimerais rajouter la possibilité de pouvoir trier les taches par projet sur la page "taches".
    Un clic sur un bouton "Filtrer par projet" permettrait de voir les taches classées par projet et par date. Comment réaliser cette fonctionalité ? Merci pour votre aide.

  2. st3ph says:

    Bonjour

    Merci pour le retour
    Pour cela ce que vous pouvez faire est dans la feuille tache sélectionner la plage données en partant de la cellule A7 jusque la fin de la plage. ensuite il faut activer les filtres, menu "Données" puis "Activer les filtres".

    Stéphane

  3. Ce commentaire a été supprimé par l'auteur.
  4. st3ph says:

    J'avais fait deux articles complémentaires sur un autre blog :
    http://www.cloud34.fr/2013/12/gerer-des-taches-dans-google-spreadsheet-partie-1.html
    http://www.cloud34.fr/2013/12/optimiser-la-gestion-de-taches-dans-google-spreadsheets-partie-2.html

    Ca peut aider aussi.

    Stéphane

  5. Ce commentaire a été supprimé par l'auteur.
  6. st3ph says:

    Re bonjour

    Pour les script fait programmer en JavaScript donc il ya un petit temps d'adaptation.

    Pour la gestion des tâches la saisie manuelle ne suffit pas ? Je ne vous pas quoi automatique avec les scripts pour saisir des durées. Le seul truc est qu'il faut faire attention au format heure qui ne permet pas de gérer 32h

    Stéphane

Leave a Reply