Bonjour à tous,

Je me permets d'ouvrir une discussion ici pour demander votre expertise.

J'essaie de créer une google sheet que je partagerai avec mes collègue.

Le but étant que chacun, depuis son portable (j'essaie d'abord de faire fonctionner ça sur google drive pc, apparemment il me faudra une appli spéciale pour faire fonctionner les script sur mobile) puisse remplir les données sur une feuille de rue. Ici deux données principales : le numéro de la maison et le choix de liste entre "ENT", "ABS" et "REF".

Les données sur cette feuille permettent d'évaluer la journée de travail de chacun.

Le but finale est que l'utilisateur, après avoir terminé de rentré les données sur la feuille de rue, clique sur un bouton "Créer une nouvelle feuille". Ce qui aura pour effet de :

  1. Dupliquer l'onglet contenant la feuille,
  2. Renommer cette onglet avec le nom de la ville et de la rue,
  3. Copier la ligne de la feuille "Données" en "B2:G2" qui contient le bilan des données,
  4. Coller la ligne en collage spécial "Uniquement les valeurs" sur la dernière ligne de la feuille (en écrasant la dernière ligne actuelle)
  5. Coller la même ligne, cette fois en collage normal pour garder les formules sur la dernière ligne vide de la feuille (Cette ligne montrera les données de la nouvelle feuille de rue),
  6. Effacer les données de la feuille de rue créée
  7. Lancer un formulaire demandant le nom de la ville et de la rue a mettre sur la nouvelle feuille de rue.


Je bute pour l'instant sur les points 3 à 5.
J'ai créé ce script qui m'a l'air d'être tout à fait correct :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
function Add_ligne() {
  var ss = SpreadsheetApp.getActive();
  var lastrow = Sheets('Données').getLastRow();
  var lastrow1 = Sheets('Données').getLastRow()+1;
  var sh = ss.getActiveSheet();
 
  ss.setActiveSheet(ss.getSheetByName('Données'), true);
 
  sh.setActiveCell('A'+lastrow1);
  ss.getRange('\'Données\'!A2:G2').copyTo(ss.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
 
  sh.setActiveCell('A'+lastrow);
  ss.getRange('\'Données\'!A2:G2').copyTo(ss.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
};
Le problème c'est que quand j'exécute le script, le message "Exécution du script" apparaît, reste sur la page éternellement, et rien ne se passe... :

Nom : Capture Script.JPG
Affichages : 118
Taille : 17,2 Ko

Je ne sais plus quoi faire... J'aimerai avancer sur les autres script mais si rien que celui-ci ne fonctionne pas c'est perdu d'avance...

Je vous met le lien de partage de mon fichier ci-dessous pour mieux comprendre ce que je souhaite :

https://docs.google.com/spreadsheets...cUfJgK/pubhtml

Merci d'avance pour vos conseils !!