Fermer une procédure vba
passesautee
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
Gord21 Messages postés 918 Date d'inscription Statut Membre Dernière intervention -
Gord21 Messages postés 918 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
N'étant pas un expert en VBA et en programmation, je m'arrache les cheveux sur un problème qui parrait pourtant simple.
Ma procédure permet d'effectuer un calcul assez long. Pour faire patienter l'utilisateur, j'ai créé un userform avec une barre de progression. Sur cette Msgbox, j'aimerais ajouter un bouton annuler. Cependant, je sais unloader le userform mais je ne sais pas arreter la procédure.
D'où ma question:
Comment faire pour stopper une procédure qui est en train de tourner en cliquant simplement sur annuler?
Merci d'avance!
N'étant pas un expert en VBA et en programmation, je m'arrache les cheveux sur un problème qui parrait pourtant simple.
Ma procédure permet d'effectuer un calcul assez long. Pour faire patienter l'utilisateur, j'ai créé un userform avec une barre de progression. Sur cette Msgbox, j'aimerais ajouter un bouton annuler. Cependant, je sais unloader le userform mais je ne sais pas arreter la procédure.
D'où ma question:
Comment faire pour stopper une procédure qui est en train de tourner en cliquant simplement sur annuler?
Merci d'avance!
A voir également:
- Fermer une procédure vba
- Fermer compte paypal - Guide
- Comment fermer un compte gmail - Guide
- Fermer compte outlook - Guide
- Fermer de force une application pc - Guide
- Excel compter cellule couleur sans vba - Guide
2 réponses
Bonjour,
Oui, ça marche en cliquant sur annuler mais ce n'est pas très élégant :-)
Tu peux déclarer une variable publique (par exemple On_arrete as Boolean) qui tu initialises à False en début de calcul. Dans tes boucles de calcul, tu insères des tests du type :
If On_arret Then
Exit sub
End If
Tu peux également lancer une procédure d'arrêt ou mettre un GoTo à la place de l'Exit sub
Oui, ça marche en cliquant sur annuler mais ce n'est pas très élégant :-)
Tu peux déclarer une variable publique (par exemple On_arrete as Boolean) qui tu initialises à False en début de calcul. Dans tes boucles de calcul, tu insères des tests du type :
If On_arret Then
Exit sub
End If
Tu peux également lancer une procédure d'arrêt ou mettre un GoTo à la place de l'Exit sub
Bonsoir,
A ma connaissance, il n'est pas possible de quitter une procédure de l'extérieur excepté par les méthodes brutes du type Echap, Gestionnaire de tâches, ...
Je ne pense d'ailleur pas qu'il soit possible dans un même projet de lancer deux procédures en parallèle (une qui calcule et une qui gère les interruptions par exemple).
A ma connaissance, il n'est pas possible de quitter une procédure de l'extérieur excepté par les méthodes brutes du type Echap, Gestionnaire de tâches, ...
Je ne pense d'ailleur pas qu'il soit possible dans un même projet de lancer deux procédures en parallèle (une qui calcule et une qui gère les interruptions par exemple).
Mais admettons qu'un jour je veuille quitter une procédure dont le calcul n'est pas une boucle. Je peux uniquement quitter la procédure avec un exit sub au sein de son code? ce n'est pas possible de quitter la procédure de l'extérieur? (du même type que unload par exemple)