Erreur SpreadsheetApp
k
Bonjour,
J'ai essayé le programme suivant, que j'ai trouvé sur internet pour tenter de l'adapter par la suite.
J'ai essayé le programme suivant, que j'ai trouvé sur internet pour tenter de l'adapter par la suite.
// Initialiser.
function run() {
sendDataToDestinationSpreadSheet();
}
// Copies values from a source spreadsheet to the target spreadsheet.
function sendDataToDestinationSpreadSheet() {
var activeSheet = SpreadsheetApp.getActiveSpreadsheet();
// Get source spreadsheet by its name.
var sourceSheet = activeSheet.getSheetByName('Source - Numbers Ascending');
// Select the source spreadsheet cells.
var sourceColumnRange = sourceSheet.getRange('A:E');
var sourceColumnValues = sourceColumnRange.getValues();
// Get target spreadsheet by its name..
var targetSheet = activeSheet.getSheetByName('Destination - Numbers Descending');
// Iterate through all rows from the source sheet.
// Start index at 1 to ignore the column header.
for(var i = 1; i < sourceColumnValues.length; i++) {
// Get the cell value for the row.
var column1 = sourceColumnValues[0,i][0];
var column2 = sourceColumnValues[0,i][1];
var column3 = sourceColumnValues[0,i][2];
var column4 = sourceColumnValues[0,i][3];
var column5 = sourceColumnValues[0,i][4];
// Use getRange() to get the value position by declaring the row and column number.
// Use setValue() to copy the value into target spreadsheet column.
targetSheet.getRange(i+1, 1).setValue(column5);
targetSheet.getRange(i+1, 2).setValue(column4);
targetSheet.getRange(i+1, 3).setValue(column3);
targetSheet.getRange(i+1, 4).setValue(column2);
targetSheet.getRange(i+1, 5).setValue(column1);
}
}Le programme fonctionne bien lorsque les feuilles sources et destinataires se trouvent sur la feuille active.
Cependant, j'ai un fichier source externe à la feuille active, et la feuille sur laquelle je souhaite importer les informations est la feuille active.
J'ai ainsi, modifié les premières lignes ainsi :
var activeSheet = SpreadsheetApp.getActiveSpreadsheet();
// Get source spreadsheet by its name.
var sourceSheet = SpreadsheetApp.getDocumentByName('Nom_du_google_doc_source').getSheetByName('Nom_de_la_feuille_source');Cependant, j'ai le message d'erreur suivant :
"sendDataToDestinationSpreadSheet@ Copy_cells.gs:11"
Pourriez vous m'aider ? Merci d'avance !
P
Bonjour,
Dans Google App Script je ne connais pas getDocumentByName, utilisez plutôt openById :
var sourceSheet = SpreadsheetApp.openById('ID de votre fichier').getSheetByName('Nom_de_la_feuille_source');Pour trouver l'ID, dans la barre HTML sélectionnez le texte entre spreadsheets et edit :
https://docs.google.com/spreadsheets/xxxXXX555XXX44XXXXX/edit