Fermer une procédure vba
Fermé
passesautee
Messages postés
2
Date d'inscription
vendredi 4 décembre 2009
Statut
Membre
Dernière intervention
7 décembre 2009
-
4 déc. 2009 à 17:22
Gord21 Messages postés 918 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 20 mars 2013 - 7 déc. 2009 à 21:27
Gord21 Messages postés 918 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 20 mars 2013 - 7 déc. 2009 à 21:27
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
- Fermer compte outlook - Guide
- Comment fermer un compte gmail - Guide
- Fermer de force une application pc - Guide
- Excel compter cellule couleur sans vba - Guide
2 réponses
Gord21
Messages postés
918
Date d'inscription
samedi 21 novembre 2009
Statut
Membre
Dernière intervention
20 mars 2013
289
4 déc. 2009 à 18:07
4 déc. 2009 à 18:07
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
Gord21
Messages postés
918
Date d'inscription
samedi 21 novembre 2009
Statut
Membre
Dernière intervention
20 mars 2013
289
7 déc. 2009 à 21:27
7 déc. 2009 à 21:27
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).
7 déc. 2009 à 13:17
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)