Script pour exécuter le script d'un autre Sheet

Bonjour,

J'ai actuellement quatre fichiers Sheet. Les trois premiers sont des bases de données que des utilisateurs renseignent chaque semaine (BASE 1, BASE 2, BASE 3). Le quatrième est une synthèse de ces renseignements que je suis le seul à consulter (SYNTHESE). Je souhaiterai, depuis ce fichier n°4 (SYNTHESE), effacer certaines données des fichiers n°1, 2 et 3 (BASE 1, BASE 2, BASE 3).

En premier lieu, j'ai créé un script (EFFACER) dans chacun des 3 fichiers (BASE 1, BASE 2 et BASE 3) qui effectue très bien cette action, mais cela m'oblige à aller dans chacun de ces fichiers afin de lancer le script. Est-il possible de créer un script dans le fichier SYNTHESE qui lance le script que j'ai créé dans les fichiers BASE 1, BASE 2 et BASE 3 afin de m'éviter d'ouvrir chacun de ces fichiers ?

Peut-être existe-t-il une autre façon de faire plus simple ou plus pratique ? Je vous remercie en tout cas de toute l'aide que vous pourrez m'apporter pour palier mon problème.

Bonjour,

Est-il possible de créer un script dans le fichier SYNTHESE qui lance le script que j'ai créé dans les fichiers BASE 1, BASE 2 et BASE 3 afin de m'éviter d'ouvrir chacun de ces fichiers ?

sur ce point, Gilbert qui a plus d'expérience pourrait te répondre

Peut-être existe-t-il une autre façon de faire plus simple ou plus pratique ? Je vous remercie en tout cas de toute l'aide que vous pourrez m'apporter pour palier mon problème.

mais dans tous les cas je préfère le faire depuis un script du fichier SYNTHESE avec openById comme suit (à adapter)

function autreFichier() {
  var doc = SpreadsheetApp.openById('_______id du fichier sur lequel tu veux intervenir________')
  var f = doc.getSheetByName('_____nom de la feuille_______')
  f.deleteRow(1)
}

Bonjour,

voilà un script pour écrire de la feuille de calcul "synthèse" vers "base1"

Ici l'ID de la feuille de calcul "base1" est en C2 de "synthèse" et écrit "Ok" en "A1"

function myFunction() {
  var base =SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange('C2').getValue();
  //console.log(base);
  var ss = SpreadsheetApp.openById(base);
var sheet = ss.getSheets()[0]; 
ss.setActiveSheet(sheet).getRange('A1').setValue('Ok');
}

Merci à tous les deux pour vos solutions ! Je regarde ça de plus près et vous fait un retour sur leur exploitation.

Quand je lance le script, j'obtiens le message suivant :

Exception: Vous n'êtes pas autorisé à appeler SpreadsheetApp.openById. Autorisations requises : lien vers googleapis / auth / spreadsheets

Une idée ? Merci par avance !

En fait au lancement du script demande des autorisations de sécurité à Google

voir ceci

Merci à tous les deux pour vos réponses. J'ai bien lu toute la documentation dans le lien. Le script que je souhaite faire me semble finalement bien trop compliqué à mettre en oeuvre. Je vais déclarer forfait ... Mais encore un grand merci pour le temps que vous aurez consacré à me répondre !

Dommage, on est là pour t'aider ...

surtout que le questionnaire de sécurité est facile

visitez votre compte , recherchez votre projet et supprimez tous les accès. Désormais, la réexécution de n'importe quelle fonction de votre script déclenchera un flux d'autorisation normal.

OK ! Je ne vais pas laisser tomber. Votre aide et le temps que vous me consacrez doivent aboutir ! Je vais regarder de nouveau et je vous tiens au courant !

Rechercher des sujets similaires à "script executer sheet"