Modification de formule en une fois dans plusieurs fichiers

Bonjour à tous,

J'ai un répertoire comportant 100 Googlesheets structurés exactement de la même façon (mêmes onglets, mêmes formules,etc...) seules les variables récupérées (via une formule IMPORTRANGE) changent. Chaque Googlesheet comporte un onglet (désigné "2. data sélectionnée") à l'intérieur duquel j'ai 64 lignes comportant chacune une formule du type =TO_DATE(DATEVAL('1. data pour frise'!I67)). Je dois changer la désignation de la cellule dans les formules par exemple =TO_DATE(DATEVAL('1. data pour frise'!H67)) au lieu de =TO_DATE(DATEVAL('1. data pour frise'!I67)) à la ligne 1; puis =TO_DATE(DATEVAL('1. data pour frise'!P67)) au lieu de =TO_DATE(DATEVAL('1. data pour frise'!M67)) à la ligne 2; etc...Je vais modifier "manuellement" une première Googlesheet. Je voudrais savoir s'il existe une possibilité pour modifier d'un coup les 100 Googlesheets structurés exactement de la même façon (mêmes onglets, mêmes formules,etc...) contenues dans le même répertoire ou si je dois me résoudre à les modifier tous "manuellement".

Merci de votre aide.

Y a-t-il une logique ? H au lieu de I, P au lieu de M ...

TO_DATE(DATEVAL('1. data pour frise'!H67)) <= TO_DATE(DATEVAL('1. data pour frise'!I67)) 
TO_DATE(DATEVAL('1. data pour frise'!P67)) <= TO_DATE(DATEVAL('1. data pour frise'!M67)) 

un exemple qui fonctionne à partir d'un fichier tiers avec activation du service Google Sheets API

function remplacement(id = 'id du fichier à modifier') {
  const replaceConditions = {
    "'1. data pour frise'!H" : "'1. data pour frise'!I",
    "'1. data pour frise'!G" : "'1. data pour frise'!H",
    "'1. data pour frise'!F" : "'1. data pour frise'!G",
  };
  const ss = SpreadsheetApp.openById(id);
  const sheetId = ss.getSheetByName("Feuille 1").getSheetId();
  const requests = Object.entries(replaceConditions).map(([k, v]) => ({
    findReplace: {
      find: k.toString(),
      replacement: v.toString(),
      // matchEntireCell: false,
      includeFormulas: true,
      sheetId: sheetId,
      // allSheets: true,
    },
  }));
  Sheets.Spreadsheets.batchUpdate({ requests: requests }, id);
}

attention à mettre dans le bon ordre les conditions de remplacement pour n pas cannibaliser les remplacements précédents

il faudra balayer les 100 fichiers par leur identifiant

Bonjour

Merci beaucoup pour ce retour rapide.

Je n'ai pas encore pu tester car je n'ai pas encore réussi à activer le service Google Sheets API. Pour l'instant je ne sais utiliser que Apps Script. Je m'en occupe rapidement.

je n'ai pas encore réussi à activer le service Google Sheets API. Pour l'instant je ne sais utiliser que Apps Script. Je m'en occupe rapidement.

il suffit de cliquer à gauche sur Services (dans l'éditeur de script) et choisir Google Sheets API

Rechercher des sujets similaires à "modification formule fois fichiers"