Arrêter une macro en cours de route

Adeus33

XLDnaute Occasionnel
Bonsoir à toutes et à tous,

Est il possible d'arrêter une macro en cours de route ?

je m'explique, prenons une exemple tout simple :
Code:
sub macroA ()
sheets("Feuil1").select
Range("A1")="partie 1"
........
Range("A1")="partie 2"
end sub

sur la feuille 1, j'ai deux boutons qui exécute la même macro, seulement je souhaiterais que le premier exécute la macro entièrement et le deuxième que jusqu’à Range("A1")="partie 1".

Est ce possible ? pour le moment je suis obligé de ruser en créant deux nouvelles macro.

Code:
sub macro_bouton1 ()
besoinarretmacro=0
call macroA
end sub

sub macro_bouton2 ()
besoinarretmacro=1
call macroA (en ajoutant dans la macroA : if besoinarretmacro=1 then goto arret....)
end sub

Je pense qu'une autre solution doit certainement exister...enfin je l'espère.

Merci d'avance pour votre aide.

Adeus33
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Arrêter une macro en cours de route

Bonsoir Adeus, bonsoir le forum,

Ta ruse me paraît une bonne solution. Dans le même esprit mais avec une variable bolléenne déclarée publique en début de module :
Code:
Public test As Boolean 'déclare la variable test


Sub macroA()
Sheets("Feuil1").Select
Range("A1") = "partie 1"
'si test est vrai alors test devient faux, sort de la procédure
If test = True Then test = False: Exit Sub
Range("A1") = "partie 2"
End Sub


Sub macro_bouton1()
test = True 'définit la variable test
Call macroA
End Sub


Sub macro_bouton2()
test = False 'définit la variable test (normalement cette ligne n'est pas nécessaire...)
Call macroA
End Sub
 

Adeus33

XLDnaute Occasionnel
Re : Arrêter une macro en cours de route

Bonsoir et merci à vous deux .

Ce sont des bonnes solutions même si je ne comprend pas forcément la solution de mapomme (pour le moment... mais il faut que j'y réfléchisse plus....)

Encore merci et bonne soirée.
 

Discussions similaires

Réponses
4
Affichages
561

Statistiques des forums

Discussions
312 447
Messages
2 088 494
Membres
103 870
dernier inscrit
didiexcel