Protection de cellules même pour le créateur du fichier

Bonjour,

Dans ce fichier : https://docs.google.com/spreadsheets/d/1B0hiJ6Hedls5T-EBnMkTnIB9hvPV_jgly04IA8kXjns/edit?usp=sharing

, je souhaite protéger toutes les cellules de la feuille formulaire sauf les cellules de saisies et mes deux boutons.

Je peux le faire pour un autre utilisateur qui aurait les droits d'accès au fichier ( via protection des plages et des feuilles) mais je ne peux pas me l'appliquer à moi-même.

C'est ainsi fait ou peut on "contourner" le système de protection pour arriver au même résultat que verouiller/déverouiller des cellules sur excel ?

Une autre méthode que j'ai tendance à appliquer

function onEdit(event){ 
  var f = event.source.getActiveSheet();
  var c = event.source.getActiveRange();
  if (f.getName() == 'formulaire'){
    var adresses = ["B4","D4","B6","D6"];
    var valeurs = adresses.join().split(",");
    var item = valeurs.indexOf(c.getA1Notation());
    if (item < adresses.length - 1){ // sauf le dernier
      f.setActiveSelection(adresses[item + 1]);
    }
  }
}

C'est loin d'être parfait, mais confortable car le curseur va se déplacer de zone de saisie en zone de saisie.


Mais la meilleure méthode reste tout simplement de faire un formulaire (google form)

Bonsoir Steelson,

Merci, j'ai vu que tu avais mis ce code en ligne. Par contre il ne fonctionne pas, quand je vais dans le journal d'exécution il me donne une erreur :

Erreur
TypeError: Cannot read property 'source' of undefined
onEdit @ code.gs:2

c'est vrai qu'un formulaire est parfait pour ce type de problème mais je ne sais pas si on peut les personnaliser, je n'en suis pas encore là dans mes recherches

Par contre il ne fonctionne pas, quand je vais dans le journal d'exécution il me donne une erreur :

Il fonctionne très bien.

Ce script ne doit pas être lancé à partir de l'éditeur de script. Il s'exécute automatiquement à partir de la feuille quand une donnée est remplie.

Bonsoir,

Ok, je vois mieux le fonctionnement de ton script.
Quand j'écris un truc dans la première cellule de saisie et que je valide, il y a une temporisation et là le curseur se met directement sur le 2eme champs de saisie. Peut-être peut on régler le temps de temporisation entre le moment de la validation et le temps que le curseur se replace sur le champs suivant ?

Au départ je pensais plus au fait d'aller de cellule en cellule de saisie via la touche tab (passer de B4 en J32 par exemple directement avec un tab) et pouvoir ne rien cliquer d'autre que ces cellules de saisies.
Mais j'ai compris que pour faire cela il me fallait créer un formulaire.

Quand j'écris un truc dans la première cellule de saisie et que je valide, il y a une temporisation et là le curseur se met directement sur le 2eme champs de saisie. Peut-être peut on régler le temps de temporisation entre le moment de la validation et le temps que le curseur se replace sur le champs suivant ?

non, la temporisation est dûe à la latence, à l qualité de la connexion internet puisque le script s'exécute côté serveur.

Rechercher des sujets similaires à "protection meme createur fichier"