Eviter les effacement de lignes par les collègues

ça veut pas, "une autorisation est nécessaire"

Cette fois-ci c'est ok ! garanti ... testé ! désolé

ça y'est mais je suis en "lecture seul"

ah, nouveau problème, fais-en une copie dans ce cas, je vais mettre quelques macros demain

je reteste aussi ce soir l'original avec user en déclarant un tiers aussi "propriétaire"

cool, merci beaucoup !

Re-

je vais mettre quelques macros demain

voilà c'est fait

  1. la première partie permet de passer automatiquement d'une cellule de saisie à la suivante >> déclarer un trigger-déclencheur
  2. la seconde enregistre les donnes dans la base de données (programme assez générique)
  3. à noter un troisième onglet pour la recherche selon 2 critères
function onEdit(event){ 
  var f = event.source.getActiveSheet();
  var r = event.source.getActiveRange();
  if (f.getName() == 'Saisie'){
    var adresses = ["C3","C5","F5","C7","F7","C9","F9","C11","F11","E13"];
    var valeurs = adresses.join().split(",");
    var item = valeurs.indexOf(r.getA1Notation());
    if (item < adresses.length - 1){ // sauf le dernier
      f.setActiveSelection(adresses[item + 1]);
    }
  }
}

function saisir(){
  var doc = SpreadsheetApp.getActiveSpreadsheet();
  var f1 = SpreadsheetApp.getActive();
  var n = f1.getRange('F13').getValue();
  if (n == 7) {
    var origine = ["C3","C5","F5","C7","F7","C9","F9","C11","F11","C13"];
    var destination = ["A","B","C","D","E","F","H","I","J","G"];
    var f2 = doc.getSheetByName('BdD');
    var derL = f2.getLastRow() + 1;
    f1.getRange('C13').setValue(f2.getRange('G' + (derL - 1)).getValue() + 1);
    for (var i = 0; i < origine.length; i++){
      f2.getRange(destination[i] + derL).setValue(f1.getRange(origine[i]).getValue());
    }
    f1.setActiveSelection(origine[0]);
  } else {
    Browser.msgBox('Merci de renseigner tous les champs !');
    f.setActiveSelection(origine[1]);
  }
}

je reteste aussi ce soir l'original avec user en déclarant un tiers aussi "propriétaire"

définitivement mort pour la capture de l'email de l'utilisateur permettant de lui "réserver" la ligne qu'il a écrite !

Ah oui bien vu, la fameuse boîte de dialogue, je pensais pas qu'on pouvait la faire avec Sheets.

  1. J'ai créé les onglets "Saisie" -"Requête" - "BdD"
  2. Copier dans la BdD les éléments des colonnes A: à J:
  3. J'ai copier/coller ton script.
  4. Activé le déclencheur "saisir"
  5. Activé les autorisations de partage
  6. j'ai bien le message d'une box (Merci de renseigner tous les champs !)

et plouf plus rien.

Ai-je loupé quelque chose ? oui surement !

Bonjour,

  1. J'ai créé les onglets "Saisie" -"Requête" - "BdD"
  2. Copier dans la BdD les éléments des colonnes A: à J:
  3. J'ai copier/coller ton script.
  4. Activé le déclencheur "saisir"
  5. Activé les autorisations de partage
  6. j'ai bien le message d'une box (Merci de renseigner tous les champs !)

et plouf plus rien.

Ai-je loupé quelque chose ? oui surement !

1. je ne vois rien dans saisie, je ne vois rien dans requête

4. non il n'y a pas de déclencheur sur saisie, efface le, mets le sur onEdit

je te refais le partage plus complet de mon fichier

Ah oui bien vu, la fameuse boîte de dialogue, je pensais pas qu'on pouvait la faire avec Sheets.

pourquoi pas ! il s'agit d'un onglet dédié à la saisie avec un script !

je prône la même chose depuis as mal de temps sur excel https://www.excel-pratique.com/fr/telechargements/utilitaires/excel-formulaire-no438

je prône la même chose depuis as mal de temps sur excel https://www.excel-pratique.com/fr/telechargements/utilitaires/excel-formulaire-no438

Ah ben comme quoi, on en apprend tous les jours !

1. je ne vois rien dans saisie, je ne vois rien dans requête

4. non il n'y a pas de déclencheur sur saisie, efface le, mets le sur onEdit

je te refais le partage plus complet de mon fichier

refais une copie https://docs.google.com/spreadsheets/d/1tU3koMXsQjKwPj2uXNvcTgaPAUHDQ4hRIb9CfptWL0c/edit#gid=1116026...

puis efface les déclencheurs, et refais en un sur onEdit

Ok je me lance !

1. je ne vois rien dans saisie, je ne vois rien dans requête

4. non il n'y a pas de déclencheur sur saisie, efface le, mets le sur onEdit

je te refais le partage plus complet de mon fichier

refais une copie https://docs.google.com/spreadsheets/d/1tU3koMXsQjKwPj2uXNvcTgaPAUHDQ4hRIb9CfptWL0c/edit#gid=1116026...

puis efface les déclencheurs, et refais en un sur onEdit

J'ai appliqué ta démarche à suivre, ça se met en place doucement mais je n'ai pas le bouton bleu en F:13

essaie de le recréer

J'ai fais une copie de ta feuille mais pour moi j'ai fais un copier/coller je préfère comprendre le fonctionnement car je vais devoir l'adapter au taff.

Pour le déclencheur,

  1. "choisir la fonction à exécuter" > onEdit
  2. "Sélectionnez la source de l'événement" > Basé sur la feuille de calcul
  3. "Sélectionnez un type d'événement" > A l'ouverture ou >lors d'une modification ou >Lors d'un changement ?

Ok pour le bouton j'ai vu ou cela se passe, je vais essayer.

Pour le déclencheur,

"choisir la fonction à exécuter" > onEdit

"Sélectionnez la source de l'événement" > Basé sur la feuille de calcul

"Sélectionnez un type d'événement" > A l'ouverture ou >lors d'une modification ou >Lors d'un changement ?

Mais pour le déclencheur ?

J'ai créé le bouton mais quand je clic dessus "La fonction de script Saisir est introuvable" alors qu'elle est dans le script.

Le bouton servira à transférer les donnes sur l'onglet BdD > important (function saisir())

Le déclencheur est moins important, c'est de l'ergonomie : il permet lors de la saisi de passer d'une cellule à la suivante (function onEdit(event))

Pour ce faire,

  1. va dans l'éditeur de macro,
  2. clique sur l'horloge,
  3. puis ajouter en bas à droite,
  4. choisis la fonction onEdit
  5. en bas à chaque modification
  6. enregistre
  7. autorise : il faut aller sur avancé

exemple à peu près similaire

trigger

Pour le bouton (et en plus j'ai modifié le tien croyant que j'était sur ma feuille)

La fonction de script function saisir est introuvable

Faut-il mettre des parenthèses, des guillemets, des " ' " etc...

Pour le déclencheur c'est fait

autorise : il faut aller sur avancé

Mais je ne trouve pas la fonction avancé

Rechercher des sujets similaires à "eviter effacement lignes collegues"