Script Google sheet : renommer feuilles de calcul

Fermé
nlbmoi Messages postés 434 Date d'inscription samedi 26 août 2006 Statut Membre Dernière intervention 3 décembre 2023 - 9 août 2022 à 08:50
nlbmoi Messages postés 434 Date d'inscription samedi 26 août 2006 Statut Membre Dernière intervention 3 décembre 2023 - 9 août 2022 à 13:33

Bonjour,

Ma feuille de calcul Google Sheet comporte en première feuille de calcul des données : en particulier, la 1ère colonne contient les noms des feuilles de calcul que j'aimerais créer. Comme je ne sais pas, à priori, combien de feuilles j'ai besoin, je crée autant de feuilles que j'ai de données dans ma colonne A puis je souhaite renommer ces feuilles selon les données indiquées dans la colonne A.

Mon fichier : https://docs.google.com/spreadsheets/d/1s5lR5SRusy76uKkMqwRRbMvavb6JpX2sMhd5-sR2nyw/edit?usp=sharing

initialement, je dispose de 4 feuilles : donnees, feuille 1, feuille 2, feuille 3.

Après le script, je devrais avoir 9 feuilles : donnes, feuille 1, feuille 2, feuille 3, feuilleA2, feuilleA3, feuilleA4, feuilleA5 et feuilleA6.

Avec le script ci-dessous :

function myFunction() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  var feuille = ss.getSheets();
  var startRow = '1'; // ligne départ = 1, modifiable si besoin
  var valColonneA = sheet.getRange("A1:A").getValues(); 
  var lignesColonneA = valColonneA.filter(String).length+1; 
  sheet.getRange(lignesColonneA, 1).activate(); // activer dans la colonne A la dernière cellule non vide
  

for (var i=0;i<lignesColonneA;i++){
  var name='DerniereFeuille'&i;
  ss.insertSheet(name);
}
  var nouveaunom;
  for (var i=1; i<lignesColonneA; i++){
    nouveaunom = feuille[0].getRange(i,1).getValue();
    feuille[i].setName(nouveaunom)
  }
}

j'ai les soucis suivants :

- le nouveau nom des feuilles n'est pas derniereFeuille accompagnée d'un chiffre mais uniquement Feuille suivie d'un nombre (qui n'a d'ailleurs rien à voir avec la valeur de i)

- seules les feuilles situées après l'onglet donnees (donc dans le cas de mon fichier feuille1, feuille2 et feuille3) sont impactées par le changement de nom or justement je ne veux pas que celles-ci changent

Je suis loin d'être un expert en javascript et je bute sur les solutions pour obtenir ce que j'attends : quelqu'un pourrait-il m'aider ?

merci d'avance
Windows / Firefox 103.0

A voir également:

1 réponse

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
9 août 2022 à 10:18

Bonjour,

La concaténation en js se fait avec le signe + et non pas &


0
nlbmoi Messages postés 434 Date d'inscription samedi 26 août 2006 Statut Membre Dernière intervention 3 décembre 2023 24
9 août 2022 à 10:51

merci : désormais  les feuilles sont bien créées à la suite de la feuille donnees ce qui me convient tout à fait !

Pour le reste, puisque j'ai créé mes  feuilles, j'ai alors les feuilles suivants donnees, derniereFeuille0, derniereFeuille1, derniereFeuille2, derniereFeuille3, derniereFeuille4, derniereFeuille5, feuille1, feuille2, feuille3.

Normalement, lorsque je fais la boucle for de la ligne 16, puisque je commence à i=1, je devrais renommer les feuilles nommées derniereFeuille0, derniereFeuille1, ... et non pas les feuilles feuille1, feuille2, feuille3.

0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > nlbmoi Messages postés 434 Date d'inscription samedi 26 août 2006 Statut Membre Dernière intervention 3 décembre 2023
9 août 2022 à 11:46

Tu devrais te baser  sur le nom des feuilles au lieu de leur "indice".

Il te suffit de vérifier si le nom de la feuille qui va être renommée est égale au nom d'une feuille que tu ne veux pas renommer... et si c'est le cas, passer à la suivante.

0
nlbmoi Messages postés 434 Date d'inscription samedi 26 août 2006 Statut Membre Dernière intervention 3 décembre 2023 24 > jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024
9 août 2022 à 13:33

je ne comprends pas ta méthode

0