[Script] Copie d'une cellule d'un fichier google sheet vers un autre

Bonjour,

J'ai deux fichiers google sheet (file1 et file2) dans le meme repertoire de google drive.

File1 possede deux feuilles: sheet1 et sheet2

File2 possede deux feuilles: x et xt

J'aimerais copier la cellule A1 du fichier file1 de la feuille "sheet2" vers la cellule B1 du fichier file2 dans la feuille "x".

Tout ca avec un macro (google script).

Je ne veux pas de la fonction ImporteRange.

Merci par avance.

Jack

Bonjour,

J'ai trouve une solution mais si je veux copier coller des cellules a differentes places c'est trop de code pour rien.

Ca marche mais si quelqu'un peut me reduire en une seule fonction le code s'il vous plait?

function Importation() {

var source = SpreadsheetApp.openById("PX3ybLHs0QLNWAlYSpm2HwvnjfqyeN1ih464CSQ5x0");
var target = SpreadsheetApp.openById("WFnWuoIntvEZD-PrdHlJI12qclLVLEkelkCg5kff-T0");

// Set Sheets
var source_sheet = source.getSheetByName("1");
var target_sheet = target.getSheetByName("1");

// Get target last row
//var last_row = target_sheet.getLastRow();

// Set Ranges
var source_range = source_sheet.getRange("D25");
var target_range = target_sheet.getRange("B7");

// Fetch values
var values = source_range.getValues();

// Save to spreadsheet

   target_range.setValues(values);
};

function Importation2() {

var source = SpreadsheetApp.openById("PX3ybLHs0QLNWAlYSpm2HwvnjfqyeN1ih464CSQ5x0");
var target = SpreadsheetApp.openById("WFnWuoIntvEZD-PrdHlJI12qclLVLEkelkCg5kff-T0");

// Set Sheets
var source_sheet = source.getSheetByName("1");
var target_sheet = target.getSheetByName("1");

// Get target last row
//var last_row = target_sheet.getLastRow();

// Set Ranges
var source_range = source_sheet.getRange("D54");
var target_range = target_sheet.getRange("B8");

// Fetch values
var values = source_range.getValues();

// Save to spreadsheet

   target_range.setValues(values);
};

function Import(){
  Importation();
  Importation2();
}

Merci

Jack

Bonjour,

peut-être ceci

function Import(){
  Importation();

}
function Importation() {

var source = SpreadsheetApp.openById("PX3ybLHs0QLNWAlYSpm2HwvnjfqyeN1ih464CSQ5x0");
var target = SpreadsheetApp.openById("WFnWuoIntvEZD-PrdHlJI12qclLVLEkelkCg5kff-T0");

// Set Sheets
var source_sheet = source.getSheets()[0];;
var target_sheet = target.getSheets()[0];;

// Set Ranges
var value1 = source_sheet.getRange("D25").getValue();
var value2 = source_sheet.getRange("D54").getValue();
// Save to spreadsheet
   target_sheet.getRange("B7").setValue(value1);
   target_sheet.getRange("B8").setValue(value2);
SpreadsheetApp.flush();
};

Bonjour, @Bonjour Gilbert

Bonjour,

J'ai trouve une solution mais si je veux copier coller des cellules a differentes places c'est trop de code pour rien.

Ca marche mais si quelqu'un peut me reduire en une seule fonction le code s'il vous plait?

dans ton exemple, tu n'en a mis que 2 : D25 vers B7 et D54 vers B8

combien en as-tu au total ?

Bonjour,

J en ai une cinquantaine.

Jack

je vais te proposer quelque chose un peu plus court à écrire

si le temps d'exécution dépasse le temps imparti par google, il faudra alors passer à batchupdate

function test() {

  var source = SpreadsheetApp.openById("PX3ybLHs0QLNWAlYSpm2HwvnjfqyeN1ih464CSQ5x0").getSheets()[0]
  var dest = SpreadsheetApp.openById("WFnWuoIntvEZD-PrdHlJI12qclLVLEkelkCg5kff-T0").getSheets()[0]

  // D25 vers B7 et D54 vers B8
  data = ['D25-B7','D54-B8']

  data.forEach(function(donnee){
    dest.getRange(donnee.split('-')[1]).setValue(source.getRange(donnee.split('-')[0]).getValue());
  })
};
Rechercher des sujets similaires à "script copie fichier google sheet"