Sortir d'un fonction VBA [Résolu]

Signaler
Messages postés
2
Date d'inscription
vendredi 14 octobre 2005
Statut
Membre
Dernière intervention
14 octobre 2005
-
zifnig
Messages postés
69
Date d'inscription
vendredi 10 septembre 2004
Statut
Membre
Dernière intervention
4 mars 2013
-
Bonjour,

J'ai crée un userform avec 2 boutons, le premier lance une fonction (test dans l'exemple ci dessous), et je voudrais que le second me sorte de cette même fonction.

Merci pour vos suggestion
------------------------------------------------------------------------------------
Public Sub CommandButton1_Click()
Call test
End Sub


Public Sub CommandButton2_Click()
????
End Sub


Public Function test()
While x <> 10000000
Feuil1.Range("A1").Offset(x, 0) = 1
inc (x)
Wend
End Function
------------------------------------------------------------------------------------

4 réponses

Messages postés
1471
Date d'inscription
mardi 5 février 2002
Statut
Membre
Dernière intervention
20 octobre 2014
10
dim bAnnule as boolean
Public Sub CommandButton1_Click()
bAnnule=false
Call test
End Sub
Public Sub CommandButton2_Click()
bannule=true
End Sub


Public Function test()
While x <> 10000000 and not bAnnule
Feuil1.Range("A1").Offset(x, 0) = 1
inc (x)
doevents
Wend
End Function

BasicInstinct
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 135 internautes nous ont dit merci ce mois-ci

Messages postés
2
Date d'inscription
vendredi 14 octobre 2005
Statut
Membre
Dernière intervention
14 octobre 2005

Merci pour la réponse, c par la que je suis passé en oubliant le doevent, par contre ce que je recherche c'est l'opposée de la procédure CALL permettant de stopper une fonctions.
Messages postés
1471
Date d'inscription
mardi 5 février 2002
Statut
Membre
Dernière intervention
20 octobre 2014
10
ca existe pas à ma connaissance.

BasicInstinct
Messages postés
69
Date d'inscription
vendredi 10 septembre 2004
Statut
Membre
Dernière intervention
4 mars 2013

Tu peux utiliser la commande exit :

Soit exit sub :

Public Function test()
While x <> 10000000
if bAnnule then
exit sub
endif
Feuil1.Range("A1").Offset(x, 0) = 1
inc (x)
doevents
Wend
End Function

soit utiliser une boucle FOR et un Exit For.

Public Function test()
for x = 1 to 10000000
if bAnnule then
exit for
endif
Feuil1.Range("A1").Offset(x, 0) = 1
doevents
next x

End Function

Zifnig
http://zifnig.free.fr