Bonjour,

Des années que je viens fouiller ici. J'ai toujours trouvé ce que je cherchais sans avoir à poser de question ^^ mais voila il faut un début à tout.

Déjà merci à vous tous qui sans le vouloir m'avez dépanné des centaines de fois ^^ mais voila aujourd'hui je bloque malgré les recherches ...

J'ai une grande feuille sur google sheets (11 000 lignes). Pour le moment je parcoure toutes les lignes pour trouver celles qui correspondes à ma recherche mais le script bloque car trop de lignes.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
 
function DeleteDeclarationMur(Classeur, Chantier, Logement, Mur){
 
 
  var SheetChantier, SheetLogement, SheetMur;
 
  // Ouverture de la feuille
  var FeuilleDeclarationMur = Classeur.getSheetByName("Déclaration des murs");
 
  // On recupere le numéro de la derniere ligne
  var DerniereligneDeclarationMur = FeuilleDeclarationMur.getLastRow();  
 
 
  // On stock le numéro des lignes supprimé dans cette var
  var LigneSupp = "";
 
  // On boucle sur toutes les lignes de la feuille
  for (var Ligne=3; Ligne<DerniereligneDeclarationMur; Ligne++) {
 
   SheetChantier = FeuilleDeclarationMur.getRange(Ligne, 3).getValue();
   SheetLogement = FeuilleDeclarationMur.getRange(Ligne, 4).getValue();
   SheetMur = FeuilleDeclarationMur.getRange(Ligne, 5).getValue();
 
    if( SheetMur == Mur ){
 
      if( SheetLogement == Logement && SheetChantier == Chantier ){
 
        FeuilleDeclarationMur.deleteRow(Ligne);
 
        if( LigneSupp == "" ){
          LigneSupp = Ligne;
        } else {
          LigneSupp += ";" + Ligne;
        }
 
      }
 
    }
 
  }
 
  return LigneSupp == "" ? 0 : LigneSupp;
 
}
je cherche un moyen pour faire ça mieux et surtout bcp bcp plus rapide.

Merci de vos réponses.