Numeriblog Hors-sujet Google Sheets : un script pour être notifié de la modif d’une cellule.

Google Sheets : un script pour être notifié de la modif d’une cellule.

Il fut un temps où Google permettait à l'utilisateur d'être notifié lors d'un changement dans une cellule d'un Google Tableur. Depuis quelques années, avec la nouvelle version de GSheets, cette fonctionnalité pourtant très demandée a disparu du menu Outils> Règles de notification.

personnes ont consulté cet article

1 minute

Rédigé par Jean-Paul JOURDAN - il y a 6 ans

Google Sheets : un script pour être notifié de la modif d’une cellule.

Je vous ai donc préparé un petit script en puisant dans les forums et ressources des experts développeurs de Stack Overflow, un forum rassemblant bon nombre de questions résolues sur les scripts.
Voici donc le script qui vous permettra d’activer la notification par email lors de la modification d’une cellule (ou d’une plage) de votre feuille de calcul préférée.Le petit + de cette version : vous pouvez choisir l’email du destinataire de la notification.
Le lien vers le script est ici : https://goo.gl/htGOLp
Les explications sont dans la vidéo.

Le code à copier dans l’éditeur de script d’une feuille de calcul :

var email = »monemail@gmail.com »;
var range = « A10:B20 »;
function onOpen() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
 var Sousmenu = [];
  Sousmenu.push({name: « Notif cellule », functionName: « Message »});  
  ss.addMenu(« Info Notif », Sousmenu);
}
function Message() {
Browser.msgBox (‘Cellule programmée : ‘+range +’.   Email programmé :’ +email);
}
function Notification() {
 var ss = SpreadsheetApp.getActiveSpreadsheet();
 var sheet = SpreadsheetApp.getActiveSheet();
 var editRange = sheet.getActiveRange();
 var editRow = editRange.getRow();
 var editCol = editRange.getColumn();
 var testrange = sheet.getRange(range);
 var rangeRowStart = testrange.getRow();
 var rangeRowEnd = rangeRowStart + testrange.getHeight()-1;
 var rangeColStart = testrange.ge

Veuillez créer un compte pour lire la suite de cette ressource

L’accès à cette ressource se fait gratuitement en créant un compte Numerifan. Les abonnements payants donnent également accès aux cours gratuits.

Paywall image

Cet article est réservé aux abonnés. Pourquoi ?

Fournir tout ce contenu nous demande beaucoup de temps, des ressources et une veille permanente. Accédez à ce contenu en rejoignant notre super communauté, pour tous nous remercier 💪

Rédacteur

S’abonner
Notification pour
5 Commentaires
Le plus ancien
Le plus récent Le plus populaire
Commentaires en ligne
Afficher tous les commentaires
gilbert ROINEL
gilbert ROINEL

Bonjour,
dans le même ordre d’idée dans la cellule B1 un commentaire indiquant la dernière cellule ayant été modifiée et par qui
😉
function onEdit(e){
var ss = SpreadsheetApp.getActiveSpreadsheet();
// Met un commentaire sur la cellule B1 pour indiquer quand le fichier a été modifié et par qui.
var sh = ss.getActiveSheet();
var range = sh.getRange(« B1 »);
var addr = ss.getActiveCell().getA1Notation();
var userName = Session.getActiveUser().getUsername();
if (userName == «  »){ userName = « inconnu »}
range.setNote(‘La cellule ‘ + addr + ‘ a été modifiée le : ‘ + Utilities.formatDate(new Date(), « GMT+2 », « EEE dd/MM/YYYY à HH:mm:ss »)+ » par « + userName);
}
}

Cet avis vous a été utile ?

Rvbx
Rvbx

Bonjour
Ce script est super!!!!
Par contre des qu’il y a une modification qui n’est pas faite avec le compte Google d’origine
Ça ne fonctionne pas.
Comment faire pour qu’il fonctionne quand on partage le tableur et que certains le modifie sans compte Google
Merci beaucoup

Cet avis vous a été utile ?

SERRE
SERRE

Bonjour
J’utilise cette fonction pour le suivi des modifications d’un planning mais depuis peu la fonction présente des bug, en effet le contenu de la cellule avant modification revient « undefined » pour certains utilisateurs alors que parfois elle comportait une valeur
Ce souci ne survient pas pour tous les utilisateurs et étrangement j’en fais partie (et cette page est sur mon compte Google)
J’ai essayé sur Firefox et sur Edge sans différence notoire
Avant cela fonctionnait sans souci pour tous
Des idées?
Merci de votre retour

Cet avis vous a été utile ?

SERRE
SERRE
Répondre à  SERRE
4 années il y a

Après test, ça marche sur mon téléphone via l’application « sheet » et pas sur mes ordis.. Peut être une histoire de navigateur?

Cet avis vous a été utile ?

BABOU
BABOU

Bonjour
J’ai utilisé le script, il fonctionne bien. Est ce qu’il est possible de cibler les emails en fonction de la modification qui a été faite.
Cordialement

Cet avis vous a été utile ?