Exécution boucle trop longue
Bonjour, j’espère être sur le bon forum.
je débute depuis peu sur les macros dans les tableaux Google Sheet, j'ai écrit un code pour automatisé l'un de mes tableurs et le code fonctionne parfaitement, MAIS il est très long à s’exécuter. cela se passe au niveau de la boucle For quand je recherche une valeur dans le tableau. si la valeur rechercher se trouve au début du tableau cava mais si elle est à la fin cela mes presque 1min pour la trouver. est il possible d'optimisé cela?? peut être existe il une fonction qui recherche directement une valeur dans un tableau???
merci de votre aide
Code:
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
| function ChoixPokestop() {
var spreadsheet = SpreadsheetApp.getActive();
var app = SpreadsheetApp;
var classeur = app.getActiveSpreadsheet();
var feuille = classeur.getActiveSheet();
var lastrow = feuille.getLastRow();
var ville = feuille.getRange('Feuil1!A2').getValue();
var pokestop = feuille.getRange('Feuil1!B2').getValue();
var quete = feuille.getRange('Feuil1!C2').getValue();
var currentstop = "";
if (pokestop != "")
{
if (quete != "")
{
pokestop = ville + ': ' + pokestop;
// app.getUi().alert(pokestop);
for(var i=4; i<=lastrow; i++)
{
currentstop = feuille.getRange(i, 1).getValue();
//app.getUi().alert(currentstop);
if (currentstop == pokestop)
{
feuille.getRange(i, 2).setValue(quete);
Exit();
}
else
{
//app.getUi().alert("Vous devez d'abord choisir un Pokestop");
feuille.getRange('Feuil1!C2').clearContent();
feuille.getRange('Feuil1!B2').clearContent();
}
}
feuille.getRange('Feuil1!B2').clearContent();
feuille.getRange('Feuil1!C2').clearContent();
}
} |