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 31961 Date d'inscription   Statut Modérateur Dernière intervention   10 008
     
    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