Messge erreur "ReferenceError: exit is not defined"

Bonsoir,

Je viens d’écrire un petit bout de code, il répond à mes besoins (recherche de la dernière ligne d'une plage si <8 message, si entre 8 et 16 message et si entre 16 et 64 message).

J'ai placé un "exit" pour sortir de la boucle for lorsque la condition est trouvée. cela fonctionne très bien, le seul problème est l'apparition du message "ReferenceError: exit is not defined".

Avez vous une idée pour remédier à ce problème?

Merci pour votre aide.

Bonne soirée

Pascal

function CreationTournoi()
{
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var feuille = ss.getSheetByName("MENU");
  var data_range = feuille.getDataRange();

for(var ligne=10;ligne<=74;ligne++)
  {
    var recherche = data_range.getCell(ligne,2).getValue();
    if(recherche == "")
    {

     var ligne = ligne - 11;
     Browser.msgBox (ligne);      

        if (ligne <= 8)
        {
        Browser.msgBox ("T8");          
        exit();
         }

        if (ligne > 8 && ligne <= 16)
        {
        Browser.msgBox ("T16");  
        exit();         
        }

        if (ligne > 16 && ligne <= 64)
        {
        Browser.msgBox ("T64");
         exit();         
        }
    } 

  }

}

Bonjour pc35135

Pour moi Exit() n'existe pas en script, mais je ne connais pas trop

Essaye "return"

function CreationTournoi()
{
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var feuille = ss.getSheetByName("MENU");
  var data_range = feuille.getDataRange();

for(var ligne=10;ligne<=74;ligne++)
  {
    var recherche = data_range.getCell(ligne,2).getValue();
    if(recherche == "")
    {

     var ligne = ligne - 11;
     Browser.msgBox (ligne);      

        if (ligne <= 8)
        {
        Browser.msgBox ("T8");          
        return;
         }

        if (ligne > 8 && ligne <= 16)
        {
        Browser.msgBox ("T16");  
        return;         
        }

        if (ligne > 16 && ligne <= 64)
        {
        Browser.msgBox ("T64");
         return;         
        }
    } 

  }

}

@+

Voilà ce que l'on appelle efficacité!!

Merci beaucoup.

bonjour,

"Pour moi Exit() n'existe pas en script, mais je ne connais pas trop"

Peut-être ceci

L'instruction break permet de terminer la boucle en cours

@BrunoM45

Je ne vous remercie pas pour votre vote négatif

pourtant on peut écrire un break comme ce code sans que cela pose problème en Apps Google Script

et l'arrêt est bien à la position voulue.

function testBreak(){
  var ar = [["e1"], ["e2"], ["e3"], ["e4"], ["NNN"], ["e6"]];
for (var i = 0; i < ar.length; i++) {
  if (ar[i][0] == 'NNN') {
      break;
  }
}
console.log(i) // 4
}

Retour dans la bible ...

Il y a une différence entre return et break :

  • break termine une boucle, mais poursuit ensuite les instructions en dehors de cette boucle
  • alors que return termine la fonction et donc n'exécute plus rien de cette dernière.

https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Statements/return

https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Statements/break

le break n'était donc pas une si mauvaise idée cela dépend du projet !!!!

Rechercher des sujets similaires à "messge erreur referenceerror exit defined"