Boucle qui s'embale

Résolu
Tessel75 -  
 Tessel75 -
Bonjour,
Comment arrêter une boucle Do ... loop until ... qui s'emballe et tourne sans fin . Il a-t-il une autre méthode que "Fin de tâche via le gestionnaire de tâche. Merci pour votre aide.

Configuration: Windows / Firefox 90.0

3 réponses

  1. jee pee Messages postés 31915 Date d'inscription   Statut Modérateur Dernière intervention   9 989
     
    Bonjour,

    C'est le until qui joue ce role, il faut une condition dont on est certain qu'à un moment donné elle sera remplie.
    0
  2. Tessel75
     
    Merci pour ta réponse, mais elle ne répond pas vraiment à la question posée, parce que justement c'est ma condition Until qui était mal calibrée et qui a fait que la boucle s'est emballée, et qu'il a fallu que j'interrompe tout le processus Excel pour que la boucle s'arrête.
    0
    1. diablo13800 Messages postés 3469 Date d'inscription   Statut Membre Dernière intervention   1 872
       
      Bonjour,

      Plutot que Stopper le process, vous pouvez utilisez la combinaison CTRL + pause ( break) qui permet de stopper les macros en cours.
      0
  3. Tessel75
     
    Merci pour cette suggestion que je ne connaissais pas. Malheureusement, ça ne marche pas dans le cas présent; sans doute parce qu'il s'agit là d'une boucle Do ... loop until ... . Désolé
    0
    1. Tessel75
       
      Bonsoir à tous,
      Je reviens vers vous parce que j'ai fini par trouver une méthode (que je connaissais mais que j'avais oubliée). Je l'indique pour que cela puisse servir à qqu'un qui se trouverait devant le même problème .
      Il suffit d'entrer dans la boucle un compteur du type " Cptr = Cptr + 1 ", ainsi il s'incrémente de 1 à chaque itération, et après il suffit d'indiquer à combien d'itérations la boucle doit s'arrêter.
      Par exemple pour la boucle que j'indiquais ici, on aura qqch du genre :

      Do
      ......
      Cptr = Cptr + 1
      Loop until ..... or Cptr > 100


      Ainsi, la boucle s'arrête après 100 itérations.
      Bonne soirée à tous.
      0