Stopper boucle infinie envoyant des MsgBox

Bonjour à toute la communauté,

Je suis en train d'apprendre la programmation en vba sur Excel et je viens de commettre une erreur.

En exécutant mon programme, je me retrouve dans une configuration similaire à celle-ci :

Do While
MsgBox "Blablabla"
Loop

Autrement dit, je suis dans une boucle infinie qui m'ouvre continuellement une fenêtre. Après une recherche sur le site et google, je n'ai pas trouvé la solution pour sortir de là et arrêter l’exécution (CTRL + Pause ne fonctionne pas, ou je ne sais pas utiliser la touche "Pause"...). J'ai pas mal travaillé depuis ma dernière sauvegarde et ça m'embêterait de tout perdre alors si vous avez une solution...

Je vous remercie d'avance

Yvonnick

Bonjour,

Si ce sont des MsgBox, cela veut dire que tu dois cliquer pour continuer.

Quand un des MsgBox attend, maintient CTRL de gauche enfoncé et frappe Pause (Break).

Normalement une fenêtre montre le code avec une ligne jaune.

Menu Exécution, Reinitialiser.

Gelinotte

Bonjour,

Les boucles, il y a plusieurs possibilités de les effectuer il suffit de les utiliser selon le besoin. Bien sur, les boucles infinis, il faut faire attention et prévoir un test pour une sortie du boucle. Vu ton code, pour éviter l'erreur de boucle infini, essaye comme ça pour la sortie du boucle :

Sub boucle()
    Do While reponse <> vbCancel
        reponse = MsgBox("blablabla", vbOKCancel)
    Loop
End Sub

Merci gelinotte pour ta réponse mais cela ne semble pas fonctionner (peut être parce que la MsgBox est active et prioritaire).

Merci Raja pour la technique, je prends note.

J'ai finalement fermé Excel via le gestionnaire de tâche. Heureusement une sauvegarde automatique assez récente m'a permis de récupérer une partie de mon travail. A l'avenir je penserai à toujours sauvegarder avant de lancer un programme.

Bonne soirée

Rechercher des sujets similaires à "stopper boucle infinie envoyant msgbox"