Bonjour,
J'ai un fichier GoogleSheet destiné à avoir avec plusieurs onglets pour un suivi général d'événements (pointage billetterie, action de communication, etc.).
Je souhaite avoir un 1er onglet avec l'ensemble des informations d'un événement et d'autres onglets de suivi ne piochant que certaines données de ce 1er onglet et y ajouter par la suite des données manuelles selon les objectifs (un 2e onglet billetterie par exemple, un 2e stratégie de comm, etc.).
Pour l'exemple j'ai créé un fichier avec seulement 2 onglets :
- le 1er onglet intitulé "Events" est une liste d'événements avec toutes les données utiles dans autant de colonnes possibles (pour l'exemple 7 colonnes de données)
- dans un 2e onglet intitulé "Suivi" j'utilise la fonction "=query(IMPORTRANGE("lien du fichier";"Events!A1:E500"); "SELECT Col2, Col3")" pour faire apparaitre dans les colonnes A et B les données des colonnes 2 et 3 de mon 1er onglet
- jusqu'ici tout va bien
- à ce 2e onglet "Suivi" j'ajoute à partir de la colonne C des colonnes de suivi pour un pointage billetterie (par exemple) que je rentre manuellement (1x par semaine par exemple, donc potentiellement 52 colonnes à partir de la colonne C)
- lorsque j'ajoute un événement dans mon 1er onglet "Events", tout va bien s'il se situe en fin de liste
- mais lorsque j'ajoute un évènement entre 2 événements existants (par exemple entre mes lignes 4 et 6 dans l'exemple, en rouge), cela apparait bien dans le 2e onglet à la bonne place sur les colonnes automatisées mais mes données entrées manuellement (à partir de la colonne C) ne bougent pas (dans l'exemple la ligne 5 devrait être vide à partir de la colonne C car les données devraient se décaler d'une ligne vers le bas).
- comment faire pour que les données saisies manuellement se décalent lors de l'ajout d'un événement dans mon 1er onglet ?
J'ai tenté plusieurs choses, des formules ou des appscript. Soit cela ne fonctionnait pas, soit cela me décalait de plus d'une ligne vers le bas.Le fichier est consultable ici :
https://docs.google.com/spreadsheets/d/ ... sp=sharing
Merci pour votre aide
Jippeo
Importrange et saisies manuelles de données
-
- Invétéré
- Messages : 123
- Inscription : 11 sept. 2022 20:27
- A remercié : 1 fois
- Remercié : 21 fois
Re: Importrange et saisies manuelles de données
Bonjour Jippeo,Je comprends bien ton souci et la frustration que cela peut engendrer. Pour résoudre le problème du décalage des données manuelles dans ton onglet "Suivi" lorsque tu ajoutes des événements dans l'onglet "Events", il faut utiliser un script Google Apps Script. Ce script va s'assurer que toutes les données se décalent correctement lorsque tu modifies ton premier onglet.Voici un guide étape par étape pour créer et utiliser ce script :Étape 1 : Accéder à Google Apps Script
Copier le codeÉtape 3 : Enregistrer et autoriser le script
- Ouvre ton fichier Google Sheets.
- Va dans le menu Extensions > Apps Script.
- Supprime tout le contenu dans l'éditeur de script et remplace-le par le code suivant :
Copier le code
Code : Tout sélectionner
function onEdit(e) { var sheet = e.source.getActiveSheet(); if (sheet.getName() == "Events") { var range = e.range; if (range.getNumRows() > 1 || range.getNumColumns() > 1) return; // Only process single cell edits var row = range.getRow(); var col = range.getColumn(); if (col == 1) { // Assuming the first column is the event name or unique identifier var suiviSheet = e.source.getSheetByName("Suivi"); var data = suiviSheet.getDataRange().getValues(); data.splice(row, 0, []); // Add an empty row at the correct position suiviSheet.getRange(1, 1, data.length, data[0].length).setValues(data); } } }
- Clique sur l'icône de disquette pour enregistrer le script et donne-lui un nom, par exemple "OnEditScript".
- Va dans le menu Exécuter > onEdit. La première fois que tu exécutes le script, tu devras autoriser les autorisations nécessaires. Suis les instructions pour accorder les autorisations.
- Retourne à ton onglet "Events" et ajoute un nouvel événement entre deux événements existants.
- Vérifie l'onglet "Suivi" pour voir si les données manuelles se sont décalées correctement.
- Le script écoute les modifications dans l'onglet "Events". Lorsqu'une cellule est modifiée dans la première colonne (que l'on suppose être l'identifiant unique de l'événement), il insère une ligne vide correspondante dans l'onglet "Suivi".
- Ce script peut être ajusté selon tes besoins spécifiques, notamment si l'identifiant unique n'est pas dans la première colonne.
Rejoignez la discussion 💬
Vous devez être enregistré pour participer à la discussion et échanger avec les différents membres
Inscrivez-vous dès aujourd'hui
Vous n'êtes pas encore membre ? Rejoignez-nous gratuitement dès aujourd'hui et contribuer en postant votre réponse ou question sur tous les forums disponibles
Inscription