Protection et déprotection par script

Bonjour,

J'ai un sheet protégé, excepté qq cellules. Le but est de permettre à l'utilisateur de saisir uniquement dans les cellules en question. Jusque là tout va bien.

Quand tu l'utilisateur valide (via un bouton qui execute un script), je veux mettre à jour une cellule protégée. Y a t il un moyen de déprotéger la cellule pour la mettre à jour uniquement par script tout en conservant la protection après le script. J'ai essayé de déprotéger par script, mais cela ne fonctionne pas, l'utilisateur (user actif) n'a pas les autorisations.

En clair je souhaite mettre à jour des cellules protégées uniquement quand celles ci sont faites par script, et surtout pas en utilisation normale dans la feuille. Possible ?

Merci !

Bonjour,

Vous pouvez vous penchez sur LockService qui propose plusieurs méthodes permettant de gérer les requêtes simultanées : https://developers.google.com/apps-script/reference/lock?hl=fr

Voici un exemple simple, permettant de visualiser ce qu'il permet de faire :

function ajouterNouvelleLigne() {
  // Obtenez le verrou pour éviter les accès concurrents
  var verrou = LockService.getScriptLock();

  try {
    // Attendre jusqu'à ce que le verrou soit disponible
    verrou.waitLock(30000); // Attendre 30 secondes pour obtenir le verrou, puis abandonner si impossible

    // Ouvrir la feuille de calcul
    var feuille = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

    // Obtenir les données à ajouter
    var nouvelleDonnee = ["Nouvelle Valeur 1", "Nouvelle Valeur 2", "Nouvelle Valeur 3"];

    // Ajouter une nouvelle ligne à la feuille de calcul
    feuille.appendRow(nouvelleDonnee);

  } catch (e) {
    // Gérer les erreurs
    Logger.log("Erreur: " + e.message);
  } finally {
    // Libérer le verrou une fois que l'opération est terminée
    verrou.releaseLock();
  }
}
Rechercher des sujets similaires à "protection deprotection script"