Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

112
Vistas
javascript de eliminación de filas en cascada

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.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

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--)
about 4 years ago · Juan Pablo Isaza Denunciar

0

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); }
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda