Numeriblog Google Workspace Google Sheets, le tableur surpuissant Google Sheets : traiter, utiliser, partager les données efficacement : 3/5 – créer, modifier, mettre à jour une entrée dans une table

Google Sheets : traiter, utiliser, partager les données efficacement : 3/5 – créer, modifier, mettre à jour une entrée dans une table

Les deux premiers articles de cette série traitaient de la structure d’une table de données et de la mise en relation des tables entre elles. Abordons dans ce nouvel article la question du traitement des […]

personnes ont consulté cet article

4 minutes

Rédigé par Antoine MARTIN - il y a 3 ans

Ce que vous allez découvrir

  • Le traitement de l'information en SQL
  • La pratique sur Sheets
  • Pour conclure...

Google Sheets : traiter, utiliser, partager les données efficacement : 3/5 – créer, modifier, mettre à jour une entrée dans une table

Les deux premiers articles de cette série traitaient de la structure d’une table de données et de la mise en relation des tables entre elles. Abordons dans ce nouvel article la question du traitement des informations d’une table de données.

Le traitement de l’information en SQL

En langage SQL il existe quatre types de traitement :

  • Sélectionner (select) : recherche des lignes de la table en fonction d’un ou plusieurs critères ;
  • Création (insert) : cette action génère une nouvelle ligne dans la table, les champs obligatoires sont remplis, un ID est créé automatiquement (si la table a bien été configurée) ;
  • Modification (update) : cette action permet de modifier un ou plusieurs champs d’une ligne en fonction de son ID ;
  • Suppression (delete) : permet de détruire une ligne répondant à un ID (logiquement l’ID n’est plus disponible pour un nouvel enregistrement).

Ces actions peuvent être commandées directement dans la console SQL, mais il faut connaître le langage des requêtes SQL.

Tiens, une « requête » se traduit « query » en anglais, ça ne vous rappelle rien ?…

Eh oui, la fonction query() de Sheets s’inspire de ce langage SQL. Pour l’instant, seule l’action « select » est disponible sur Sheets, mais permet déjà de réaliser des recherches complexes.

Alors si ce n’est pas directement dans la console SQL, où et comment les bases de données SQL sont-elles modifiées ?

Les applications web sont les interfaces conçues pour que les utilisateurs exercent une de ces actions sur la base de données. Cf. le système Modèle / Vue / Contrôleur. évoqué dans le premier article.

Avec le « Web 2.0 », l’internaute est devenu non seulement spectateur d’un énorme flux d’informations mais aussi acteur de ce flux : il peut sélectionner, créer, modifier et supprimer des informations.

Par exemple, sur un site marchand, vous avez l’habitude de créer un compte en complétant un formulaire. Vous validez le formulaire ce qui provoque une requête de création (insert) d’une ligne sur la table « CLIENT ». Une fois connecté (select) grâce à votre login et votre mot de passe, vous pouvez modifier (update) ou même supprimer (delete) votre compte. Vous avez réalisé toutes ces actions sans le savoir, par le biais de pages web, de formulaires, de boutons d’action, etc. à aucun moment vous n’êtes intervenu directement dans la base de données, et heureusement !

La pratique sur Sheets

Sheets peut être utilisé pour gérer des bases de données relationnelles, mais contrairement à SQL, Sheets est aussi utilisé pour rechercher, ajouter, modifier ou supprimer des informations directement dans la base, l’appli est également utilisée pour créer des vues, des tableaux de bord, de analyses, des graphiques… Cela apporte plus de souplesse à son utilisation certes, mais aussi plus de fragilité, surtout dans une situation de partage de fichiers. Voici trois procédures d’intervention sur une table de données stockée sur Sheets :

L’intervention directe sur la table de données

C’est la pratique la plus courante et la plus naturelle. La table « CLIENTS » est accessible et modifiable par plusieurs personnes. Chacun peut intervenir sur toutes les cellules. La collaboration c’est formidable, mais peut aussi entraîner des problèmes !

Voici quelques exemples de mauvaises manipulations :

  • un filtre appliqué sur une partie des colonnes : cela m’est déjà arrivé et je ne dois pas être le seul ! cette manipulation sur une table contenant un grand nombre de colonnes est très facile à faire, sans s’en rendre compte, et mélange complètement les informations.

Exemple d’un filtre appliqué sur les trois premières colonnes de notre table « CLIENTS » :

Jessica Rabine devient Jessica KAMAN et Mhedi KAMAN devient Mhedi RABINE…
  • une personne sans mauvaise intention, mais pas beaucoup de jugeote qui n’a pas lu le premier article de cette série, réattribue les identifiants… parce que « Il y avait un trou (sic) » et « Je voulais garder l’ordre (resic) »… (c’est du vécu:))
C’est comme si nous décalions nos numéros de sécurité sociale… le CL-002 qui était Amadeus SURSONKANAP est à présent relié à Claire KOMLODRAUCHE
  • Le format du champ n’est pas respecté : (voir le premier article sur la structure d’une table de données.)
L’utilisateur n’a aucune limite d’écriture, dans le feu de l’action, il peut techniquement écrire des informations qui ne seront pas exploitables et qui ne devraient pas être acceptées (« évidemment on vous demande de répondre par oui ou par non, alors «  »ça dépend » ça dépasse » !)

Ces manipulations ont des conséquences plus ou moins graves sur l’utilisation des données. Plusieurs solutions sont envisageables :

  • former les utilisateurs des tables de données aux bonne pratiques ;
  • limiter l’accès en édition aux tables de données aux seules personnes habilités à les modifier ;
  • mettre en place des validations de données si la liste est très fermée, du type « vrai » « faux » ;
  • protéger certaines cellules de votre table…

Une solution un peu plus avancée est d’utiliser des formulaires :

Intervention dans les tables par formulaire

Comme je l’ai déjà évoqué dans cette série d’articles, Google Forms et Google Sheets communiquent très facilement entre eux. Un formulaire permet d’ajouter de nouvelles lignes à une table de données en toute sécurité. Le choix de types de questions, les validations de réponse par expressions régulières permettent de maîtriser les informations. Le formulaire est plus convivial, plus simple d’utilisation, et cerise sur le gâteau peut créer un ID directement, grâce à l’horodateur (certes un peu long…).

Une petite formule pour transformer la date envoyée par Forms en nombre :

=ARRAYFORMULA(TEXTE(A:A*100;"#"))

Qu’en est-il de la modification d’une ligne avec un formulaire ?

Si l’option est activée, il est possible de modifier les réponses d’un formulaire après l’avoir envoyé.

A la fin du formulaire, un lien permet d’afficher le formulaire pré-rempli et de modifier les informations sur la même ligne dans la feuille de réponse (la valeur modifiée est même commentée pour attirer votre attention !). Voir cet article pour récupérer le lien de modification des données via le formulaire (parution le 3/03/2021).

Je vous propose une solution intermédiaire : le formulaire pré-rempli. Cette option, formidablement décrite dans cet article, permet d’afficher le formulaire contenant les informations déjà saisies. Cela facilite la saisie des informations, vous pouvez aussi n’afficher que ce lien et permettre aux utilisateurs autorisés à modifier les données.

Attention ! la validation ne modifie pas la ligne du sheets, mais entraîne la création d’une nouvelle ligne ! N’oubliez pas d’envoyer également l’ID de la ligne modifiée…

Il faut alors filtrer les réponses envoyées par le formulaire en ne gardant que la dernière réponse concernant le même ID.

Intervention par script

Pour les besoins un peu plus complexes, il est possible de créer une feuille Sheets interactive comme un formulaire, dans laquelle l’utilisateur sélectionne et modifie des informations. Un script, appelé par un bouton de validation (voir cet article), enregistre les données dans la feuille de calcul de son choix.

Par exemple : Voici un formulaire qui permet de contrôler les mesures d’une pièce produite par une machine. L’utilisateur sélectionne une pièce, les cotes à mesurer et le plan de la pièce s’affichent, il doit saisir des informations dans les cases noires, il clique sur le bouton « enregistrer », les données alimentent une table externe.

Cette procédure fera l’objet d’un article à part, si vous insistez lourdement dans les commentaires 🙂

Pour conclure…

Il existe d’autres solutions de gestion de bases de données hébergées sur Sheets, ou ailleurs ! Il est possible par exemple avec l’environnement Google Apps Script de développer une application web semblable à un système d’information.

Ce tour d’horizon de la question des mises à jour d’une table de données dans l’environnement Sheets nous a permis d’aborder quelques points d’attention à connaitre, quelque soit la procédure que vous choisissez, pour la gestion de vos données. Dans le prochaine article, je vous proposerai une approche de partage d’informations… Laissez un commentaire !

Besoin d'un peu plus d'aide sur Sheets ?

Des formateurs sont disponibles toute l'année pour vous accompagner et optimiser votre utilisation de Sheets, que ce soit pour votre entreprise ou pour vos besoins personnels !

Découvrir nos formations Sheets

Rédacteur

Photo de profil de l'auteur
Antoine MARTIN

Consultant et formateur sur les outils bureautiques, j'ai intégré l'équipe de Numericoach en 2020. J'accompagne les utilisateurs de Google Workspace à trouver des solutions répondant à leurs besoins. Mes domaines de prédilections sont les outils Sheets, Docs, Slides et Google Apps Script.

S’abonner
Notification pour
guest
12 Commentaires
Le plus ancien
Le plus récent Le plus populaire
Commentaires en ligne
Afficher tous les commentaires
Gaetan
Gaetan

Bonjour,
J’insiste lourdement, ca m’intéresse beaucoup tout ça.
J’aimerais construire un système de saisi des horaires par les salariés, validation par les cadres, traitement des données par le service paie.
Merci beaucoup pour le partage de vos connaissances.
Bonne continuation.
Gaetan

Cet avis vous a été utile ?

Gaetan
Gaetan

Re bonjour,
Quitte à insister lourdement, je tente ma chance : Serait-il possible d’obtenir le script qui apparait dans la dernière image?
Gaetan

Cet avis vous a été utile ?

Gaetan
Gaetan
Répondre à  Antoine MARTIN
2 années il y a

Bonjour et merci pour votre retour.
C’est vrai qu’il tombe à pique votre « dossier » sur les BDD google sheets. J’attends la suite avec impatience.
Pour le forfait, je suis désolé, mais je n’ai aucun budget. C’est du professionnel, mais ça part d’une initiative personnelle et je suis « juste » secrétaire.
J’ai suivi vos conseils et ai posé ma question sur le groupe facebook.
Bonne journée et vivement la suite !

Cet avis vous a été utile ?

Gaetan
Gaetan

Bonjour,
La solution pour récupérer le lien de modification de réponse au formulaire se trouve ici :
https://gist.github.com/rubenrivera/4ed2110cda3fbdbc29d2d2d3a4af29c0?fbclid=IwAR2QLpfgOvNRf44bqG1gSSSSrWavvU29ZWwSnLxH6tt2oJKN9tHi6y7HXBY
De mon coté, ce code ne fonctionne pas en l’état : il faut que je change le lien du formulaire en url de partage.

Cet avis vous a été utile ?

Gaetan
Gaetan
Répondre à  Antoine MARTIN
1 année il y a

Bonjour,
L’URL qui renvoie vers l’article n’est pas correcte.
Bonne journée,

Cet avis vous a été utile ?

Sébastien
Sébastien

Bonjour, j’insiste « lourdement dans les commentaires « 

Cet avis vous a été utile ?

Antoine
Répondre à  Sébastien
1 année il y a

Bonjour Sébastien. Je n’ai pas compris votre commentaire. Est-ce que vous pouvez préciser ?

Cet avis vous a été utile ?

HB
HB

Bonjour,
Merci beaucoup pour ces articles très instructifs.
Moi aussi, j’insiste lourdement 🙂 J’aimerais vraiment savoir comment faire la procédure de la feuille Sheets interactive !
En vous remerciant.

Cet avis vous a été utile ?