Google Sheets : la gestion des actions

1869 3

La mission : un chef de projet assigne après une réunion de suivi de projet les tâches de chacun. A intervalle régulier à définir, un mail est envoyé à celui qui doit réaliser la tâche lui permettant de mettre à jour la progression (de 1 à 5).

Avec un peu de script, pas mal de fonctions ARRAYFORMULA, REPT et CONCATENER dans un Google Sheet, Fabrice arrive à une solution qui tient la route, et comme il est très collaboratif et ne fait pas les choses à moitié, il vous a préparé un site si vous avez besoin d’utiliser cet outil.

Le fichier Gsheet pour la gestion des actions.

La visualisation des actions se fait avec Awesome Table :

Et l’ajout d’une action se fait à l’aide d’un Google Formulaire :

Concernant le code utilisé pour le script :

var IDformulaire = 'xxxxxxxx-xxxxxxxx-xxxxxxxxxxxxxx';

var nomFeuille = 'Réponses au formulaire 1';
var indexColonne = 9 // Il s'agit de la colonne où est la zone d'edition depuis 0
var numColonne = indexColonne + 1;

function obtenirLienReponse() {
  var feuille = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(nomFeuille);
  var donnees = feuille.getDataRange().getValues();
  Logger.log(donnees);
  var formulaire = FormApp.openById(IDformulaire);

  for (var i = 2; i < donnees.length; i++) {
    Logger.log("URL:" +  donnees[i][indexColonne]);
    if (donnees[i][0] != '' && donnees[i][indexColonne] == '') {
      var horodateur = donnees[i][0];
      Logger.log(horodateur);
      var formulaireSoumis = formulaire.getResponses(horodateur);
      if(formulaireSoumis.length < 1) continue;
      var modificationUrlDeReponse = formulaireSoumis[0].getEditResponseUrl();
      feuille.getRange(i+1, numColonne).setValue(modificationUrlDeReponse);
    }
  }
}

function envoiDuMail () {
  var classeur = SpreadsheetApp.getActiveSpreadsheet();
  var feuille = classeur.getSheetByName("Génération E Mail");
  var ligneDeDebut  = 3;
  var nombreDeLigne = feuille.getLastRow();
  var tableauDeDonnees = feuille.getRange(ligneDeDebut,1,nombreDeLigne,5);
  var donnees = tableauDeDonnees.getValues();
  for(var i = 0;i<donnees.length;i++) {
    var ligne = donnees[i];
    var pourEmail = ligne[2]; // Colonne C
    var message = ligne[4]; // Colonne E
    if (pourEmail != '') {
      MailApp.sendEmail({
        to:pourEmail,
        subject:"Tâches en cours à accomplir",
        htmlBody:message,
      });
    }
    SpreadsheetApp.flush();
  }
  
}

Si vous avez trouvé une faute d’orthographe, veuillez nous en informer en sélectionnant le texte en question et en appuyant sur Ctrl + Entrée .

Thierry

Thierry

Thierry VANOFFE, consultant, formateur, coach G Suite. CEO de Numericoach, leader de la formation G Suite en France. Passionné par Google, ce blog me permet de partager cette passion et distiller tutos, trucs, astuces, guides sur les outils Google. N'hésitez pas à me solliciter pour vos projets de formation.

3 commentaires

  1. Avatar

    Bonjour,

    De base, Excel a toujours été un outil de malade (trop de formules à retenir pour un seul homme non?) et la transposition Google en mode cloud plus l’addition d’actions (Forms, Modules, Scripts…) supplémentaires permet de monter le niveau d’un bon cran :).

    Merci Awesome Table pour l’apport d’une certaine clarté fort satisfaisante (mais…) et Forms à la saisie des données (mais, y a toujours des mais quand même…) :p.

    Mon défi perso(/pro) actuel, presque similaire a celui de cet article, mise en place d’un outil de > https://goo.gl/yJ1PkZ https://photos.app.goo.gl/vtowwSV2z9hHpQOq1 car pépite d’or vf inestimable, merci beaucoup !!

    1. Thierry

      Coucou
      merci ! Tu m’envoies le lien de ton awesome table et tableur stp ?

      1. Avatar

        L’ayant plus qu’encore constaté dans l’émission Envoyé Spécial du 12/04/2018 avec le sujet  » Facebook, l’envers du réseau  » et le propos à la minute 24 (et 4440ème seconde) sur  » Cambridge Analytica  » résumé en 3 pages …>> je n’ai qu’à montrer de simples « primary_ » & « secondary_ » résumées par quelques pictogrammes (Emoji »HQ ») comme avec #ToDoList:
        > xn--kv8h = Horodatage (et autre clés)
        > xn--mq8h = User(s)
        > xn--dei = Priorité
        > xn--rs8h et etc…

        PS : AwesomeTable ne reste qu’une interface améliorée (public/dashboard) composée en sources de quelques tutos glanés ici et là > https://goo.gl/op5z65 … Il y a « Event-o-matic » et Google DataStudio +1 que j’aime beaucoup plus vous pour R&:D !

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Rapport de faute d’orthographe

Le texte suivant sera envoyé à nos rédacteurs :