Comment arreter une macro dans Excel 2007

Le
Fricotin Bibi
J'ai un programme en VBA que je voudrait améliorer mais je n'arrive pas a
arreter le programme autrement qu'en desactivant l'execution des macros. Y a
t'il un autre moyen ?

merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Patrick BASTARD
Le #21628121
"Fricotin Bibi" news:
J'ai un programme en VBA que je voudrait améliorer mais je n'arrive pas a
arreter le programme autrement qu'en desactivant l'execution des macros. Y
a t'il un autre moyen ?

merci



Oui.
--

Patrick
Patrick BASTARD
Le #21628111
Bonsoir,"Fricotin Bibi"

En complément de ma réponse précédente, de plus amples informations, telles
que le code en question, permettraient de proposer une solution plus
pertinente.

--
Bien ,

Patrick
patrick.bastardchezdbmail.com


J'ai un programme en VBA que je voudrait améliorer mais je n'arrive pas a
arreter le programme autrement qu'en desactivant l'execution des macros. Y
a t'il un autre moyen ?

merci

Armel
Le #21634361
Bonsoir,

Et en posant un point d'arrêt dans le code vba ?

Le 25/04/2010 21:02, Fricotin Bibi a écrit :
J'ai un programme en VBA que je voudrait améliorer mais je n'arrive pas
a arreter le programme autrement qu'en desactivant l'execution des
macros. Y a t'il un autre moyen ?

merci
michdenis
Le #21635081
Bonjour,

Désactiver l'exécution des macros n'arrête pas une macro
elle empêche son exécution.

Explique davantage ce que tu veux faire...

Tu veux arrêter une macro avant la fin de son exécution ?
À l'aide d'une autre macro ? Un arrêt d'urgence ?
Peux-tu publier ici ta macro ?


"Fricotin Bibi"
J'ai un programme en VBA que je voudrait améliorer mais je n'arrive pas a
arreter le programme autrement qu'en desactivant l'execution des macros. Y a
t'il un autre moyen ?

merci
M41
Le #21642481
Bonjour

Pour tester :
Parsemer le programme de : ArrêtProcess 17
17 = touche Ctrl
Tester des CtrlProcess aux points névralgiques, genre

If CtrlProcess Then Stop
Le programme s'arrêtera ensuite à tous ces lignes
jusqu'au prochain ArrêtProcess 17

S'il ne doit y avoir qu'un seul arrêt lors de l'exécution

If CtrlProcess Then Stop : CtrlProcess úlse

Cette méthode est surtout valable pour les macros
dont les temps d'exécution sont très très longs

================================ Public Const Stopper As Variant = 27
Public CtrlProcess As Boolean
'
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As
Integer) As Integer
'
Public Sub ArrêtProcess(ByVal T As Variant)
Dim C As Boolean, V As Boolean
If T = Stopper Then T = 27: C = True
If Not IsNumeric(T) Then Exit Sub
V = TestMaTouche(T)
If V And C Then
CtrlProcess = True
Application.StatusBar = "Stop !"
End
ElseIf V And Not C Then
CtrlProcess = True
Application.StatusBar = "Stop !"
'ajouter un Stop ici ?
Else
CtrlProcess = False
End If
End Sub
'
Sub TestArrêtProcessStopper()
Dim i As Integer: CtrlProcess = False
For i = 1 To 5000: ArrêtProcess 17: Debug.Print i, CtrlProcess: Next i
End Sub
=================================
Autres méthodes, après désactivation des lignes "On Error..."

- Ne pas arrêter mais utiliser les "Debug.?" pour afficher les résultats
intermédiaires
- En cas de boucle For/Next, si l'erreur survient avec certaines valeurs de
i :

For i = A to B
If i = X1 or i = X2 then Stop

Next i
fonctionner en "pas à pas" ensuite

- Ajouter un "Stop" dans "Sub ArrêtProcess" (cf liting)
- Plus simplement : placer de simples "Stop" dans les macros et tester les
valeurs des variables en promenant le curseur sur le linsting tout en
progressant en "pas à pas".

Cordialement

M41



"Fricotin Bibi"
J'ai un programme en VBA que je voudrait améliorer mais je n'arrive pas a
arreter le programme autrement qu'en desactivant l'execution des macros. Y
a t'il un autre moyen ?

merci
Publicité
Poster une réponse
Anonyme