Apps Script : Insèrer automatiquement des lignes en dessous selon critère

Bonjour,

Je me permets ce thread afin de trouver une solution à mon souci.
J'ai des teintes automobiles, des milliers de lignes donc. En fonction de 5 critères, j'aimerais insérer un nombre de lignes défini. Par exemple la teinte X est métallisée dans la colonne I alors ajoute moi 8 lignes en dessous.
Je pourrais aller plus loin en rajoutant 8 lignes et remplir les colonnes E - F- G - H avec des données définies.

Merci de votre aide.

Hello,

A tester :

function ReadColonne() {
    var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('F2'); // Ici modifier la feuille
    var lastrow = sheet.getLastRow()
    // Boucle sur les ligne de la colonne A de la feuille F2
    for(var x = 1; x <= lastrow ; x ++){
        var valeur = sheet.getRange('A'+x).getValue(); //ici modifier la colonne à tester
        if (valeur == 'X')  {sheet.insertRowAfter(x)[2]} // Ajoute 2 lignes si valeur = X
        else if (valeur == 'Y')  {sheet.insertRowAfter(x)[6]}; // Ajoute 6 lignes si valeur = Y
    }
}

Bonjour,

Toutes mes excuses pour ce délai de réponse, je vais de ce pas tester votre script sur un nouveau fichier que je dois attaqué !
Je me permettrai d'éditer ce message

Merci encore

Bonjour,

Je viens de tester le script, il se déclenche bien pas de souci la dessus, mais il me crée qu'une ligne sous le terme X ou Y ?

A vous lire.

Hello,

Autant pour moi :

function ReadColonne() {
    var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('F2'); // Ici modifier la feuille
    var lastrow = sheet.getLastRow()
    // Boucle sur les ligne de la colonne A de la feuille F2
    for(var x = 1; x <= lastrow ; x ++){
        var valeur = sheet.getRange('A'+x).getValue(); //ici modifier la colonne à tester
        if (valeur == 'X')  {sheet.insertRowsAfter(x,3)} // Ajoute 2 lignes si valeur = X
        else if (valeur == 'Y')  {sheet.insertRowsAfter(x,6)}; // Ajoute 6 lignes si valeur = Y
    }
}

Rohlalala ca marche de feu de dieu !
Merci beaucoup pour cela !

Pour aller plus loin est-il possible de scripter une sorte de copier/coller en fonction des X ou Y ?
Exemple : je sais que je génère 6 lignes pour la valeur X grâce à votre script, j'ai un ensemble de valeurs qui sont pareil dans ces 6 lignes à remplir de manière identique pour toutes pour ces valeurs X ? je sais pas si je me fait comprendre...

EDIT : je viens de comprendre pourquoi votre premier script ne fonctionnais pas, c'etait donc la declaration des lignes ( j'aime comprendre ) :

insertRowsAfter(x,3)

Hello,

il y avait 2 erreurs dans mon code :

.insertRowAfter(x)[2]

Erreur 1 : effectivement la syntaxe (x,2) et non (x)[2]

Erreur 2 = insertRowssss... et non insertRow

Voici comment faire un copier coller sur GAS :

(copie A2:D2 dans A3:D10 de la feuille s)

s.getRange('A2:D2').copyTo(s.getRange('A3:D10'));
Rechercher des sujets similaires à "apps script inserer automatiquement lignes dessous critere"