Empiezo en la programación y en la carpeta de la hoja de google me gustaría borrar las líneas después de 60 días según la fecha columna L (12). el programa funciona, pero tan pronto como se elimina una línea, todas las demás líneas se eliminan. encuentre debajo de mi código en el script de la aplicación de Google.
//trouver le nom du classeur var date1 ; var date2 = new Date(); var classeur = SpreadsheetApp.getActiveSpreadsheet(); var couleur ; var feuilles = classeur.getSheets(); // for (var i=0 ; i<sheets.length ; i++) out.push( [ sheets[i].getName() ] ) //trouver le nombre de feuilles dans le classeur ??? //pour chaque feuille, il faut //pour chaque ligne, étudier la cellule L //si vide ou < 31 alors rien //si >= effacer la ligne function coloriage() { for (var i=0 ;i<feuilles.length ; i ++) { var feuille = feuilles[i] ; var transports = feuille.getDataRange(); var donnees = transports.getValues(); for (var ligne = 6 ; ligne < donnees.length ; ligne++) { date1 = donnees[ligne][11]; if (date1 != "") { // différence de jours var jours = Math.round((date2.getTime() - date1.getTime()) / (1000 * 3600 * 24)); //Logger.log("ligne= "+ligne+ " date1= "+date1+" jours= "+jours); if (jours < 40) { if (jours<20) { couleur = "#fff" ; } if ((jours>=20)&&(jours<30)) { couleur = "#fd0" ; } if ((jours>=30)&&(jours<40)) { couleur = "#f75" ; } feuille.getRange(ligne+1,1,1,12).setBackground(couleur); } else { feuille.deleteRows(ligne+1,1) Logger.log("ligne "+(ligne+1)+" supprimée ; nb de jours "+jours); ligne -- } } } } }Gracias de antemano por su ayuda.
Tienes un bucle con línea, y dentro del bucle afectas el valor de línea ligne -- extraño. Si desea eliminar filas, invierta su ciclo de la siguiente manera
for (var ligne = donnees.length-1 ; ligne >= 6 ; ligne--)También puede simplemente eliminar la instrucción ligne -- ya que cada vez que el código termina en la rama else , crea un bucle infinito y todas las filas terminan siendo eliminadas.
Por lo tanto, su else se verá simplemente así:
else { feuille.deleteRows(ligne+1,1); Logger.log("ligne "+(ligne+1)+" supprimée ; nb de jours "+jours); }