Copier une feuille d'un SpreadSheet Google Sheet à un autre SpreadSheet avec JS
Résolu
Agraphe
-
Agraphe -
Agraphe -
Hello !
Sur Google Sheet je tente de créer un script JS qui aurait la fonction suivante : Copier toute les 2 minutes le contenu complet d'une feuille (feuille_A) d'un SpreadSheet (ID_A) et de le coller sur une autre feuille (feuille_B) d'un autre SpreadSheet (ID_B). J'ai tenté de nombreuse chose dont copyTo qui ne fonctionne pas d'un SpreadSheet à l'autre. Je précise que je ne souhaite pas utiliser la formule Importrange, il faut que cela soit fait dans le script de Google.
J'ai donc essayé quelque chose comme ça :
EDIT : Ajout des balises de code
Mais ça ne fonctionne pas. J'ai beau rechercher sur internet je ne trouve rien de neuf pour m'aider. Je suis novice, il y a très certainement quelque chose que je n'ai pas compris.
Merci pour votre aide
Sur Google Sheet je tente de créer un script JS qui aurait la fonction suivante : Copier toute les 2 minutes le contenu complet d'une feuille (feuille_A) d'un SpreadSheet (ID_A) et de le coller sur une autre feuille (feuille_B) d'un autre SpreadSheet (ID_B). J'ai tenté de nombreuse chose dont copyTo qui ne fonctionne pas d'un SpreadSheet à l'autre. Je précise que je ne souhaite pas utiliser la formule Importrange, il faut que cela soit fait dans le script de Google.
J'ai donc essayé quelque chose comme ça :
function myFunction() { var classeur_source = SpreadsheetApp.openById("ID_A") var feuille_source = classeur_source.getSheetByName('Feuille_A'); var cellule_source_range = feuille_source.getDataRange(); var cellule_source_range_2 = cellule_source_range.getA1Notation(); var cellule_value = cellule_source_range_2.getValues(); var classeur_cible = SpreadsheetApp.openById('ID_B'); var feuille_cible = classeur_cible.getSheetByName('Feuille_B'); cellule_cible.clear({contentsOnly: true}); var cible_2 = SpreadsheetApp.openById('1mGeXfFjcB9k5Lu6MUro2wm4LYQapQT-JMDSEWyS6GBs').getSheetByName('Commande M Stock').getRange('C1:C10'); feuille_cible.getRange(cellule_source_range_2).setValues(cellule_value);
EDIT : Ajout des balises de code
Mais ça ne fonctionne pas. J'ai beau rechercher sur internet je ne trouve rien de neuf pour m'aider. Je suis novice, il y a très certainement quelque chose que je n'ai pas compris.
Merci pour votre aide
A voir également:
- Copier coller google sheet
- Google maps satellite - Guide
- Dns google - Guide
- Google maps - Guide
- Historique copier coller - Guide
- Google photo - Télécharger - Albums photo
2 réponses
Bonjour,
Pas testé .. mais un truc du genre devrait fonctionner :
https://developers.google.com/apps-script/reference/spreadsheet/sheet#copyTo(Spreadsheet)
Pas testé .. mais un truc du genre devrait fonctionner :
https://developers.google.com/apps-script/reference/spreadsheet/sheet#copyTo(Spreadsheet)
function CopyDataToNewFile() { var sss = SpreadsheetApp.openById('ID_A'); // sss = source spreadsheet var ss = sss.getSheetByName('Monthly'); // ss = source sheet //Get full range of data var SRange = ss.getDataRange(); //get A1 notation identifying the range var A1Range = SRange.getA1Notation(); //get the data values in range var SData = SRange.getValues(); var tss = SpreadsheetApp.openById('ID_B'); // tss = target spreadsheet var ts = tss.getSheetByName('RAWData'); // ts = target sheet //set the target range to the values of the source data ts.getRange(A1Range).setValues(SData); }
Agraphe
Merci :D