Créer une boucle ou un "Tant que" dans une requête
A quoi ça sert ?
Une boucle permet d’effectuer le paramétrage inclus dans cette dernière autant de fois que défini. Elle peut être comparée de manière grossière à la fonction “Pour Chaque”.
Les variables utiles à la création d’une boucle
🧬 Type Caractère - Liste Chaînée issue d’une lecture fichier, d’une variable calculée au préalable…/…
🧮 Type Numérique - Le nombre de mot contenu dans la liste chaînée.
🇲 Type Caractère - Le mot que l’on souhaite extraire.
🎰 Type Numérique - Une variable indice qui servira de compteur et s’incrémentera au fur et à mesure de la boucle. Obligatoire, par convention de paramétrage, elle est souvent nommée “VLO.Ind”.
Exemples d’utilisation d’une boucle :
1. Création d’une extraction Excel où l’on souhaite présenter des informations identiques pour tous les jours de la semaine.
Sur cet exemple, on va réaliser 5 fois le paramétrage défini à la suite de l’action “Boucle”==> Ligne 9
On remarque également, que l’on se sert de l’indice (ligne 10) afin d’extraire des informations liées au calcul des jours (comme une variable locale “standard”)
Sur cet exemple, le pas (c’est-à-dire la valeur qui sera incrémentée à chaque passage de boucle) n’est pas précisé, il sera automatiquement affecté à ‘1’.
Ainsi dans notre exemple précédent: 1 = Lundi ; 2 = mardi ; 3 = mercredi ; 4 = jeudi ; 5 = vendredi
Si nous souhaitons extraire les données uniquement pour les lundis, mercredis et vendredis. Cela deviendrait donc : BOUCLE VLO.Ind DE 1 A 5 PAR CLO.2 :
2. Extractions des données “Commande Fournisseur”
Dans cet exemple, nous allons récupérer une liste chaînée, contenant les numéros de commande fournisseurs concernées, de type : “F170822;F180822;F190822”.
Afin de définir le nombre d’itération de la boucle, nous allons venir compter le nombre de mot contenu dans la liste.
Une fois le nombre d’itération connu, nous allons nous en servir afin de créer notre boucle en partant du 1er jusqu’au dernier (contenu dans la VLO.NbMot).
Pour extraire le numéro de commande et pouvoir s’en servir comme clé d’index (ouverture de TV…/…), nous venons récupérer dans la liste chaînée non pas le nombre de mot mais le mot lui-même. Pour cela nous utiliserons l’indice de la boucle afin de faire le lien avec le mot recherché et sa place dans la liste chaînée.
Nota : On commence l’indice à partir de là où l’on souhaite. Exemple : Boucle VLO.Ind de 3 à 10…
3. “Tant que”
Le mot-clé Boucle permet également de faire des Tant Que, comme ci-dessous:
Ceci est très utile pour faire des algorithmes récursifs !