# For..next

L'instruction de contrôle for..next est une construction d'itération de script avec compteur. Les instructions comprises entre for et next à l'intérieur de la boucle sont exécutées pour chaque valeur de la variable du compteur entre les limites inférieure et supérieure spécifiées.

For counter = expr1 to expr2 [ step expr3 ]

[statements]

[exit for [ ( when | unless ) condition ]

[statements]

Next [counter]

Les expressions expr1, expr2 et expr3 ne sont évaluées que la première fois que le script entre dans la boucle. Il est possible de modifier la valeur de la variable counter à l'aide d'instructions placées à l'intérieur de la boucle, mais il ne s'agit pas une bonne méthode de programmation.

Si une clause exit for se trouve dans la boucle, l'exécution du script est transférée à la première instruction qui suit la clause next indiquant la fin de la boucle. Il est possible de rendre une clause exit for conditionnelle par l'utilisation facultative d'un suffixe when ou unless.

Note InformationsComme l'instruction for..next est une instruction de contrôle et, en tant que telle, se termine par un point-virgule ou une fin de ligne, aucune de ses trois clauses possibles (for..to..step,exit for et next) ne peut s'étendre sur plusieurs lignes.

Arguments

| Argument | Description |
| --- | --- |
| counter | Nom de variable. Si l'argument counter est spécifié après next, il doit s'agir du même nom de variable que celui qui se trouve après le for correspondant. |
| expr1 | Expression qui détermine la première valeur de la variable counter pour laquelle la boucle doit être exécutée. |
| expr2 | Expression qui détermine la dernière valeur de la variable counter pour laquelle la boucle doit être exécutée. |
| expr3 | Expression qui détermine la valeur de l'incrément de la variable counter lors de chaque exécution de la boucle. |
| condition | Expression logique dont l'évaluation a pour résultat True ou False. |
| statements | Tout groupe d'une ou plusieurs instructions de script Qlik Sense. |

Chargement d'une séquence de fichiers

`// LOAD 
 files file1.csv..file9.csv` `for a=1 
 to 9`

> `LOAD * from 
>  file$(a).csv;`

`next`

Chargement d'un nombre aléatoire de fichiers

Dans cet exemple, supposons les fichiers de données x1.csv, x3.csv, x5.csv, x7.csv et x9.csv. Le chargement est arrêté à un point aléatoire à l'aide de la condition `if rand( 
 )<0.5 then`.

`for counter=1 
 to 9 step 2`

> `set filename=x$(counter).csv;` `if rand( 
>  )<0.5 then`
>
> > `exit for 
> >  unless counter=1`
>
> `end if` `LOAD  a,b 
>  from $(filename);`

`next`

## En savoir plus

* [For each..next](https://help.qlik.com/fr-FR/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptControlStatements/For%20Each.htm)
* [Next](https://help.qlik.com/fr-FR/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptControlStatements/Next.htm)
* [To](https://help.qlik.com/fr-FR/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptControlStatements/To.htm)
* [Exit](https://help.qlik.com/fr-FR/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptControlStatements/Exit.htm)