Copie de lignes d'un fichier vers un autre

Bonjour à tous,

J'aurais besoin une nouvelle fois de votre aide.
Je cherche à réaliser un script qui permettrait de copier quotidiennement des lignes d'un classeur vers un 2ème classeur. Ces lignes devraient se rajouter aux lignes de la veille et non pas les écraser. Le "coller" devrait donc se faire sur la 1ère avec des cellules vides.

Ca vous semble faisable? Vous auriez une base de script à me conseiller?

Merci par avance.

J'ai un début de solution mais j'ai une erreur sur la dernière ligne que je ne comprends pas :

  function CopyDataToNewFile() {
  var sss = SpreadsheetApp.openById('16kWCzbaCCX6ZNs2wPxKzOHbAbHAF5iCfjlUyQ5...); // sss = source spreadsheet
  var ss = sss.getSheetByName('Stats'); // ss = source sheet
  //Get full range of data

  var tss = SpreadsheetApp.openById('1bDm7S6qwQ9qReD2gPqxfRc5wEs15VGlZS0q48.....'); // tss = target spreadsheet
  var ts = tss.getSheetByName('Feuille 1'); // ts = target sheet
  //set the target range to the values of the source data

  var source_range = ss.getRange("A10:G10");
  var last_row = ts.getLastRow();
ts.insertRowAfter(last_row);
var target_range = ts.getRange("A"+(last_row+1)+":G"+(last_row+1));
source_range.copyTo(target_range);

}

Voici l'erreur que j'obtiens lorsque je lance le débogueur :

    Erreur    
Exception: Target range and source range must be on the same spreadsheet.
CopyDataToNewFile    @ Copie lignes 2.gs:16

Vous auriez une idée?

Bonjour,

N'ayant pas les fichiers, je ne peux pas tester moi-même, essaie de ton côté de faire

var data = source_range.getValues()
target_range.setValues(data)

en remplacement de la ligne copyTo

Ca marche parfaitement, merci!

Le script que j'ai su reconstituer ne me permet que de copier qu'une seule ligne.

Je ne trouve pas la solution pour la copie de plusieurs lignes.

Vous auriez une idée?

Dans ta proposition, il n'y avait qu'une seule ligne

var source_range = ss.getRange("A10:G10")

si tu veux plusieurs lignes, indique la ligne de début et la ligne de fin

var source_range = ss.getRange("Axxxxxxxxxxx:Gyyyyyyyyyyyyy")

il faudra en tenir compte dans target_range également

Si tu veux aller plus loin, il faudrait mettre en partage tes fichiers exemples. https://www.sheets-pratique.com/fr/cours/partage

Effectivement, j'avais fait cette erreur.

Le script fonctionne correctement grâce à ton aide.

Mille merci.

Rechercher des sujets similaires à "copie lignes fichier"