Google sheet, Boucle for et boucle if

Je fais 3 séries car je ne les récupère pas de la même façon dans mon fichier;

Pour un seul coefficient, les coeff A et B apparaissent comme ceci:

image

Pour plusieurs coefficients, la cellule est différente donc la façon de récupérer ces coefficients aussi:

image

ou encore :

image

Peux-tu ajouter un ou deux cas de ce type dans ton fichier que tu avais posté ici https://forum.excel-pratique.com/sheets/google-sheet-boucle-for-et-boucle-if-169966#p1055311

J'ai ajouté les 3 cas possibles :)

Est-ce le résultat que tu attends ?

image
function Import_Coeff() {
  var feuilleCALIB = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Calibration');
  var lastRow = feuilleCALIB.getLastRow();
  var tableau = feuilleCALIB.getRange('A3:B' + lastRow).getValues();
  var result = [];
  for (i = 0; i < tableau.length - 2; i++) {
    if (tableau[i][0].substring(0, 2) == "50" || tableau[i][0].substring(0, 2) == "51" || tableau[i][0].substring(0, 2) == "52") {
      if (tableau[i + 2].toString().indexOf('x', 0) != -1) {
        var ATA = tableau[i][0].split("-")[0];
        var coefA = tableau[i + 2][1].split("): ")[1].split(" x")[0];
        var coefB = tableau[i + 2][1].split("+ ")[1].split(" (")[0];
        result.push([[ATA], [coefA], [coefB]]);
      }
      else {
        var ATA = tableau[i][0].split("-")[0];
        try {
          var data = [...tableau[i + 2].toString().matchAll(/\([^)]+?\)/g)];
          data.forEach((d, i) => {
            if (i > 1) {
              var x = d[0].slice(1,-1)
              var coefA = x.split(',')[0]
              var coefB = x.split(',')[1]
              result.push([[ATA], [coefA], [coefB]]);
            }
          })
        }
        catch (e) { }
      }
    }
  }
  result = result.sort(function (a, b) {
    return a[0] - b[0];
  });
  var crcm = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('CR-MR');
  crcm.getRange(10, 1, Math.max(11, crcm.getLastRow() - 9), result[0].length).clearContent();
  crcm.getRange(10, 1, result.length, result[0].length).setValues(result);
}

Merci beaucoup!

Il faut juste que je règle le problème suivant: les paramètres qui ont des coefficients multiples apparaissent plusieurs fois à la suite dans la première colonne, à la différence de votre capture d'écran.

image

pour faire cela, j'ai mis une MFC en place, car les données sont bien présentes sur chaque ligne (je me refuse à les enlever car cela ôte toute possibilité ultérieure de faire par exemple des décomptes/stats etc. via un TCD)

la formule de la MFC est quelque chose comme

=A1=A2

à appliquer sur A2:Ax

avec police de caractère blanche

Rechercher des sujets similaires à "google sheet boucle"