> Tous les forums > Forum Bureautique
 Google sheet colorer une cellule modifiée
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
Cottages
  Posté le 06/12/2016 @ 15:47 
Aller en bas de la page 
Petit astucien

Bonjour,

Je cherche à colorer une cellule qui vient d'être modifiée, pour pouvoir l'identifier rapidement, dans une feuille google sheet partagée.

Merci pour l'aide

[Configuration automatique à compléter]
Windows 10
Autre 5.0

Publicité
Debrief
 Posté le 07/12/2016 à 17:19 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Je ne sais pas, il y a un truc nommé GAS mais j'ai pointé direct sur Excel et ce n'est pas ce que tu veux, désolé.
Du coup je supprime mon post.



Modifié par Debrief le 07/12/2016 17:23
gilbert_rgi
 Posté le 07/12/2016 à 17:52 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour,

Non Google Sheet n'utilise pas le VBA mais des macros inspirées du JavaScript (Gscript)

Cottages

pour colorer la cellule A1 cellule en jaune et police en noire

voilà une function

function setCell() {
var ss = SpreadsheetApp.getActiveSpreadsheet(); // obtenir la feuille active.
var sheet = ss.getSheets()[0]; // Selection de la première sheet.
var cell = sheet.getRange("A1");
cell.setFontColor("black");
cell.setBackground("yellow");
}

pour de l'aide voir ceci cliquer ici

Voir aussi dans l'éditeur de script onglet ressources / le déclencheur du projet actuel pour indiquer par un script quelle modification de cellule doit provoquer l'enclenchement du script voulu

pour plus d'infos voir Triggers ex: cliquer ici

pour plus d'infos et d'aide sur Gsheet rejoignez cette communauté cliquez ici



Modifié par gilbert_rgi le 07/12/2016 18:35
Cottages
 Posté le 07/12/2016 à 18:42 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Merci Gilbert.

Tu m'as donné envie de connaître Java.

Pour cet exemple, effectivement le code fonctionne parfaitement s'il est activé.

C'est à la mise à jour de la cellule que je souhaite l'activer: dans tout le fichier une cellule modifiée devrait changer de couleur.

C'est un peu un double emploi, car dans les versions précedente l'historique montre les cellules modifiées.....Je viens de le découvrir!

Je vais chercher... merci encore

Cottages
 Posté le 07/12/2016 à 18:53 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Oups! je voulais dire Javascript....Merci Phil!

gilbert_rgi
 Posté le 07/12/2016 à 23:53 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Cottages a écrit :

Merci Gilbert.

Tu m'as donné envie de connaître Java.

Pour cet exemple, effectivement le code fonctionne parfaitement s'il est activé.

C'est à la mise à jour de la cellule que je souhaite l'activer: dans tout le fichier une cellule modifiée devrait changer de couleur.

C'est un peu un double emploi, car dans les versions précedente l'historique montre les cellules modifiées.....Je viens de le découvrir!

Je vais chercher... merci encore

oui voir ma proposition Triggers

voir dans ce tuto cliquer ici

Cottages
 Posté le 08/12/2016 à 06:48 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Super merci bien.

gilbert_rgi
 Posté le 08/12/2016 à 12:09 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

une autre solution consiste à employer la fonction onEdit

comme ceci par exemple

dans cette démo

si dans la cellule dont la ligne est la ligne de la cellule active et la colonne 5 il n'y a rien alors la cellule de la même ligne mais de la colonne 6 est vidée puis mise en police blanche ainsi que la couleur de fond

mais si dans la cellule dont la ligne est la ligne de la cellule active et la colonne 5 il y a une valeur alors la cellule de la même ligne mais de la colonne 6 la date est écrite est mise en police rouge avec le fond gris

function onEdit(){
var row = SpreadsheetApp.getActiveRange().getRowIndex();
var test =SpreadsheetApp.getActiveSheet().getRange(row,5).getValue();
//Browser.msgBox (test)
if (test == '')
{
SpreadsheetApp.getActiveSheet().getRange(row, 6).setValue("").setFontColor("white").setBackgroundRGB(255,255,255);
}
else
{
SpreadsheetApp.getActiveSheet().getRange(row, 6).setValue(new Date()).setFontColor("red").setBackground("grey");
}
}

Cottages
 Posté le 08/12/2016 à 12:39 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Oui, il existe de nombreuses possibilités... Merci pour ces avancées.

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Sujets relatifs
Aucun sujet pertinent lié trouvé
 > Tous les forums > Forum Bureautique