Problème de script

Bonjour à tous,

J'ai ce code pour copier/coller des valeurs de la feuille "Saisie" vers la feuille "Récapitulatif" mais lorsque je recopie, la copie ne se fait que sur la première colonne ou la feuille"récapitulatif" et je n'arrive pas à copier les trois colones; je pense que cela vient de lla dernière ligne du code mais impossible de trouver la solution.

Merci à vous si vous pouvez m'aider:

function myFunction() {
var spreadsheet = SpreadsheetApp.getActive();
var sheet1 = spreadsheet.getSheetByName('Saisie');
var sheet2 = spreadsheet.getSheetByName('Récapitulatif');
var range = sheet1.getRange('G2');
var range = sheet1.getRange('H2');
var range = sheet1.getRange('I2');
var values = range.getValues();
sheet2.insertRowAfter(sheet2.getLastRow());
sheet2.getRange(sheet2.getLastRow()+1, 1, 3, ).setValues(values);}

Bonjour,

Il y a plusieurs petits soucis dans ce script :

- la variable range est écrasée (une première fois G2, puis H2, enfin, I2).

- la variable values ne comporte qu'une value (I2 de la feuille Saisie).

- dans la dernière ligne, il manque le paramètre du nombre de colonne : sheet2.getRange(ligne départ, colonne départ, nombre lignes, nombre colonne)

Quelle plage souhaitez vous copier de la feuille Saisie à Récapitulatif ?

Bonjour,

Je souhaiterais copier les valeurs des cellules A1,B1 et C1 par exemple de la feuille "Saisie" vers les cellules A1,B1et C1 de la feuille "Récapitularif".

Merci beaucoup.

Et les nouvelles données doivent arriver en haut, poussant les anciennes vers le bas ? Ou bien inversement, les nouvelles données doivent s'ajouter au fur et à mesure ?

Oui les données doivent arriver en haut et avec un saut de ligne à chaque fois pour rajouter au fil des jours et mois des valeurs

Ok, voici un script, j'ai commenté les paramétrages à modifier :

function myFunction() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet1 = ss.getSheetByName('Saisie');
  const sheet2 = ss.getSheetByName('Récapitulatif');
  const header = 1; // nombre de lignes d'en tete
  var values = sheet1.getRange('A1:C1').getValues().flat(); // plage de données à récupérer

  var containsData = values.some(value => value !== "");
  if (containsData) {
    sheet2.insertRowAfter(header); // 1 si en tete d'une ligne
    sheet2.getRange(header+1, 1, 1, 3).setValues([values]);
}}tLastRow()+1, 1, 3, ).setValues(values);}

Alors, j'ai lancé le script qui fonctionne bien puisque j'ai un message que le script a été exécuté mais, il ne se passe rien sur la feuille "Récapitulatif".....rien ne s'inscrit !!!! gélère, galère

Restons désespérement optimiste......

Il y avait une erreur dans mon copier / coller, voici le script, j'ai testé de mon coté, ça fonctionne :

function myFunction() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet1 = ss.getSheetByName('Saisie');
  const sheet2 = ss.getSheetByName('Récapitulatif');
  const header = 1; // nombre de lignes d'en tete
  var values = sheet1.getRange('A1:C1').getValues().flat(); // plage de données à récupérer

  var containsData = values.some(value => value !== "");
  if (containsData) {
    sheet2.insertRowAfter(header); // 1 si en tete d'une ligne
    sheet2.getRange(header+1, 1, 1, 3).setValues([values]);
  }
}

Nikel,

Merci beaucoup et au plaisir.

bonne fin de journée.

Rechercher des sujets similaires à "probleme script"