Equivalent de application.screenupdating dans sheets

Bonjour

existe t il un équivalent de application.screenupdating de VBA dans sheets? Pour améliorer la performance

Merci

Bonjour,

ce n'est pas utile ! tout le script est supporté par les serveurs de google

c'est l'inverse qui se produit ... il faut parfois forcer le rafraichissement par l'instruction

SpreadsheetApp.flush(); 

maintenant, si ton script est long, il faut penser à

  • utiliser onEdit
  • travailler sur des arrays en englobant d'un seul coup une colonne entière
  • supprimer les lignes vides inutiles d'une feuille
  • rechercher au plus près la dernière ligne renseignée, non pas par getLastRow(), mais plus précisemment
function getLastDataRow(sheet) {
  var lastRow = sheet.getLastRow();
  var range = sheet.getRange("A" + lastRow);
  if (range.getValue() !== "") {
    return lastRow;
  } else {
    return range.getNextDataCell(SpreadsheetApp.Direction.UP).getRow();
  }              
}

quel est ton problème de fond ?

Dans ma Sheet, je cherche à masquer les colonnes en fonction de leur en-tête

mon code actuel passe en revue chaque en-tête et cache ou non la colonne mais du coup c'est très long et on voit les colonnes disparaître petit à petit

Peux-tu mettre un lien vers une copie de ton projet ?

Il faudrait essayer la chose suivante

  1. bien sûr limiter la taille des colonnes si c'est possible en supprimant les lignes inutiles
  2. ensuite, repérer les colonnes dans un array, puis les sélectionner et les supprimer en "une seule fois"

Si ce n'est pas suffisant, revoir la spec. Est-ce juste pour un affichage ? ou est-ce aussi pour y travailler ? dans le premier cas il est plus simple de faire un query avec filter et transpose.

Une solution pour masquer les colonnes dont les en-têtes correspondent à une liste de valeurs contenue dans crit

Les données vont ici des colonnes A à E

Les en-têtes sont dans la ligne 1

=query(transpose(query(transpose({A1:E1; arrayformula(iferror(match(A1:E1;crit;0);0));A2:E});"select * where Col2=0"));"select * offset 1")
Rechercher des sujets similaires à "equivalent application screenupdating sheets"