Fenetre d'attente et arret du code vba

  • Initiateur de la discussion adrien
  • Date de début
A

adrien

Guest
Est-il possible avec VBA d'afficher un pop up d'attente pendant qu'un algorithme tourne, avec un bouton qui permet d'arreter son exécution?
(c'est surtout le bouton d'arret qui me pose problème)

merci
 

Abel

XLDnaute Accro
Sinon, peut être avec un système de gestion d'erreur.

Attribue une erreur à ton bouton et dans ta macro commence par On Error goto

Dans le Goto :
on error # exit sub

La syntaxe est approximative. C'est de mémoire. Il y a longtemps que je ne l'ai pas fait. Regarde l'aide de VB.
 
A

adrien

Guest
Merci

Il y a un autre probleme par contre : c'est que comme vb tourne derriere, on ne peux pas appuyer sur le bouton, il bloque le userform en fait.
Est-ce qu'il y a un moyen de lui affecter une priorité?

Si c'est pas le cas, est-ce qu'on peut configurer excel pour que la touche 'echap' pour qu'il quitte directement vb, sans afficher la boite qui permet de faire fin ou de passer en deboggage ?
 

Abel

XLDnaute Accro
Re,

Beuh ...

Je viens d'essayer, lors de l'arrêt, il ne veut pas le considérer comme une erreur (ni avec Echap ni avec ctrl+attn).

Si quelqu'un d'autre à une idée ...

Abel.

Edition :
Je pensais pouvoir récupérer l'erreur 18.

Message édité par: Abel, à: 25/03/2005 17:46
 

Abel

XLDnaute Accro
Re,

Ci-après une solution collégiale de Didier_mdf et Gros Bill :

Code:
Sub MacroQuelconque()
On Error GoTo handleCancel
Application.EnableCancelKey = xlErrorHandler
For x = 1 To 1000000
t = x + 1 * x ^ 2 'ici un exemple bidon. Ce peut être ta macro
Next x
handleCancel:
If Err = 18 Then
MsgBox 'La macro est arrètée'
End If
End Sub

Abel.

Edition :
Bon alors ...
Didier_mdf pour la recherche
Gros Bill pour l'aide VB
Abel pour l'idée

Message édité par: Abel, à: 26/03/2005 00:59

Message édité par: Abel, à: 26/03/2005 01:26
 

Discussions similaires

Réponses
2
Affichages
344

Statistiques des forums

Discussions
312 864
Messages
2 093 005
Membres
105 598
dernier inscrit
Tonydu95