Copier feuille d'un fichier vers un autre

Bonjour,

J'ai des fichiers g.sheet dans un dossier Z , ces fichiers gardent le même nom mais sont remplacés chaque semaine par un nouveau fichier qui conserve le même nom mais dont l'ID change.

Je voudrais copier / coller les feuilles de ces fichiers dans des fichiers "Templates" situés dans un dossier Y, ces fichiers restent eux les mêmes chaque semaine et conservent donc le même URL .

comment puis-je procéder pour copier des feuilles d'un fichier à un autre sans passer par l'ID des fichiers mais en utilisant leur nom, et leur dossier ?

Bonjour,

pour rechercher un fichier, j'utilise

var ss = SpreadsheetApp.openById(getFileId('nom du fichier'))

et la fonction

function getFileId(nomDuFicherRecherche) {
  var files = DriveApp.getFilesByName(nomDuFicherRecherche);
  while (files.hasNext()) {
    var file = files.next();
    return (file.getId())
  }
}

si tu le cherches dans un dossier particulier, alors utilise

var ss = SpreadsheetApp.openById(getFileIdInFolder('nom du fichier','dans le dossier'))

avec

function getFileIdInFolder(fichier, dossier) {
  var folders = DriveApp.getFoldersByName(dossier);
  var foldersnext = folders.next();
  var files = foldersnext.getFiles();
  var id = null
  while (files.hasNext()) {
    var file = files.next();
    if (file.getName() == fichier) { id = file.getId(); break }
  }
  return id
}

s'il y en a plusieurs dans le même dossier ... c'est foutu ! il faudra alors discriminer par les dates par exemple !

Super très claire merci pour votre retour,

Quelle fonction puis-je ensuite utiliser pour copier toutes les feuilles de calculs vers le nouveau fichier ?

Je débute , je ne sais pas trop comment m'y prendre

ce qui n'est pas très clair pour moi, c'est ceci

est-ce qu'il s'agit d'un fichier template ou de plusieurs ? et si plusieurs comment répartir ces différentes feuilles

copier / coller les feuilles de ces fichiers dans des fichiers "Templates" situés dans un dossier Y

copier toutes les feuilles de calculs vers le nouveau fichier

un essai

function transferer(){
  var source = SpreadsheetApp.openById(getFileIdInFolder('source','Z'))
  var destination = SpreadsheetApp.openById(getFileIdInFolder('template','Y'))
  source.getSheets().forEach(function(sh,i){
    var data = sh.getDataRange().getValues()
    destination.getSheets()[i].getDataRange().clearContent()
    destination.getSheets()[i].getRange(1,1,data.length,data[0].length).setValues(data)
  })
}
function getFileIdInFolder(fichier, dossier) {
  var folders = DriveApp.getFoldersByName(dossier);
  var foldersnext = folders.next();
  var files = foldersnext.getFiles();
  var id = null
  while (files.hasNext()) {
    var file = files.next();
    if (file.getName() == fichier) { id = file.getId(); break }
  }
  return id
}

que tu peux mettre dans un fichier script

Rechercher des sujets similaires à "copier feuille fichier"