Insérer ligne à chaque changement de nom dans cellule

Bonjour

Je cherche à créer une macro pour automatiser une action. En effet, j'aimerais que dans mon fichier à chaque changement de nom la macro rajoute une ligne entre les noms.

image

Merci de votre aide

Bonjour,

à tester :

function myFunction() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getSheetByName('Feuille 1');

  var data = sheet.getRange(1, 1, sheet.getLastRow()).getValues();

  for (i=data.length - 1; i > 0; i--) {
    if (data[i][0] !== data[i - 1][0]) {
      sheet.insertRowAfter(i);
    }
  }
}

Explication :

Annonce du fichier et de la feuille de travail (à modifier)

  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getSheetByName('Feuille 1');

On stocke les données à analyser dans une variable (dans cet exemple la 1ere colonne, si c'est C par ex il faut mettre 3 au lieu du 2nd 1)

  var data = sheet.getRange(1, 1, sheet.getLastRow()).getValues();

Puis une boucle qui itère négativement sur les données, en partant de bas en haut, qui compare la donnée avec celle du dessus, si pas identique, ajouter une ligne.

  for (i=data.length - 1; i > 0; i--) {
    if (data[i][0] !== data[i - 1][0]) {
      sheet.insertRowAfter(i);

Merci beaucoup

Cela fonctionne parfaitement

Rechercher des sujets similaires à "inserer ligne chaque changement nom"