Vous souhaitez protéger (ou verrouiller) automatiquement une cellule suite à une modification dans un fichier Google Sheets ? Alors, découvrez dans cet article une solution avec Google Apps Script. En effet il est possible avec un peu de code de bloquer automatiquement des cellules avec le tableur Google Sheets.
Avec les applications Google Workspace nous avons la possibilité de créer des fonctionnalités spécifiques en passant par la création de script avec Google Apps Script. Dans ce cas d’usage, je vous propose de bloquer automatiquement une cellule suite à la modification du fichier par n’importe quel collaborateur sur le fichier.
Démonstration vidéo
Protéger une cellule automatiquement après édition
Pour illustrer ce cas d’usage, j’ai pris l’exemple d’un fichier partagé à deux personnes qui doivent réaliser des tâches dans un projet (une fois n’est pas coutume avec Bob et Alice 😉 ).
Cependant, le responsable du projet souhaite protéger les cellules dès que Bob ou Alice réalise une modification sur le fichier.
Par exemple, une fois que Bob à validé et coché la tâche 1 avec la case à cocher, il n’y a que lui (ou le propriétaire du fichier) qui va pouvoir à nouveau modifier la cellule (idem pour le nom/la description de la tâche).
Pour le dire d’une autre façon Alice ne pourra pas modifier une cellule si Bob à déjà tapé quelque choses dans cette cellule auparavant.
Dans le cas ci-dessous j’ai validé la case à cocher C4 et le script à automatiquement protéger cette cellule. Dans ce cas, si c’est Bob qui à cocher la cas, Alice ne pourra pas changer le statut de cette tâche.
ℹ️ INFORMATION : outre ce cas d’usage, vous pouvez récupérer le code présent dans le fichier d’exemple (disponible en bas de l’article) afin de l’adapter à votre feuille de calcul Google Sheets – En savoir plus depuis la démonstration vidéo.
Annuler toutes les protections
Enfin si vous utilisez le script de protection plutôt dans un cas ou vous souhaitez que quelqu’un évite de modifier un fichier Sheets par erreur ou pour empêcher quelqu’un de modifier une cellule déjà renseigné, il peut-être pertinent d’ajouter un script permettant d’annuler (de retirer) toutes les protections des cellules.
Cela évite notamment de le faire manuellement. Ce qui peut être très long si votre fichier doit prendre en compte beaucoup de modification.
Pour cela, il vous suffit de cliquer sur le bouton personnalisé « Suppression des protections > Débloquer toutes les cellules ».
Lors de la première exécution il faut valider les autorisation d’accès au script (Continuer > Choisir le compte > Paramètres avancés > Accéder à verrouillage_après_edition > Autoriser).
Notez qu’il faut re-cliquer sur les boutons pour lancer l’annulation de la protection des cellules.
>> Créer une copie du fichier avec le Google Apps Script <<
Accéder au Google Apps Script (protection automatique + annulation des protections)
Si vous souhaitez récupérer le script pour l’intégrer dans un fichier existant, il vous suffit d’accéder au script en cliquant sur « Extensions » > « Apps Script ».
Vous avez alors accès au code à 3 fonctions :
- Protection automatique des cellules,
- Ajoutez un menu avec un bouton (pour retirer les protections),
- Enfin, la fonction de « dé-protection » de toutes les cellules du fichier.
Pour conclure…
J’espère que le fichier Google Sheets avec ce script vous sera utile et vous permettra de répondre à des besoins de protections spécifiques comme le cas d’usage développé dans l’article. Ce script permet notamment d’éviter d’avoir à passer par la fonctionnalité d’historique des versions. Pour restaurer une version antérieur d’un fichier Google.
L’utilisation de code Apps Script est vraiment très intéressant pour répondre à des besoins particulier avec les applications Google. Nous pouvons ainsi personnaliser ces outils pour les adapter à des problématiques particulières que nous pouvons rencontrer.
Portez-vous bien et à bientôt!
4 replies to "Google Sheets : Comment protéger automatiquement une cellule après une édition ?"
Bonjour,
Je suis proprietaire d’un fichier google sheets sur mon drive.
J’ai fais un lien sur un google site qui permet a un utilisateur de copier ce fichier sur son drive.
Le problème c’est qu’en copiant le fichier j’ai l’impression qu’il en devient proprétaire et donc qu’il a accès à toutes les cellules protégées. Dans ce cas comment permettre la copie en conservant la protection des cellules ? Merci
Bonjour Cédric,
En effet, si vous donnez la possibilité à une personne de copier votre ficher, celle-ci aura alors une copie du fichier sans les protections définies sur votre fichier « source ». Il n’existe à ma connaissance pas de solution pour conserver les protections d’un fichier copier. :/
Bonne continuation.
Bonjour
Je comment faire pour que seul moi, en tant qu’owner du fichier, puisse modifier la cellule une fois qu’elle est remplie.
Le script ici permet à la fois au propriétaire du fichier et à celui qui a modifié la cellule d’intervenir. Je voudrais vraiment limité au propriétaire du fichier et éviter à quiconque de changer la donnée initiale qui doit pouvoir être renseignée par n’importe qui.
Merci de votre aide.
Je suis dans la même situation : je ne parviens pas à bloquer les cellules remplies par un script accessible à tous afin de les rendre modifiable par moi uniquement.
Si vous avez une piste de solution, je vous en remercie.