Exit Sub

Résolu
batssakuru Messages postés 5 Date d'inscription vendredi 10 août 2007 Statut Membre Dernière intervention 11 janvier 2010 - 7 janv. 2010 à 14:50
batssakuru Messages postés 5 Date d'inscription vendredi 10 août 2007 Statut Membre Dernière intervention 11 janvier 2010 - 11 janv. 2010 à 17:56
Bonjour à tous,

J'ai un petit problème concernant la sortie d'une procédure.

J'ai une procédure qui en appelle une deuxième. Tout va bien jusque la, mais ce que j'aimerais, c'est qu'une fois la deuxième procédure terminée, je souhaiterai ne pas retourner dans la première. Je ne sais pas s'il existe quelque chose du genre Exit Sub(parent). VOici le code pour etre plus clair

Public Sub machin_Click()
    Call Truc_Click
    ...
    ...
End Sub

Public Sub Truc_Click()
....
....
Exit Sub machin_Click ' <--- Ca c'est ce que je voudrais faire mais évidemment ca ne fontionne pas 

End Sub



J'espere que c'est assez compréhensible.
Merci d'avance pour vos réponses!

4 réponses

bonjourc Messages postés 47 Date d'inscription mardi 19 mars 2013 Statut Membre Dernière intervention 23 mars 2013
7 janv. 2010 à 15:21
Ce que tu peux faire, c'est faire une fonction boolean, un peu du genre;

Public Sub machin_Click()
    if not Truc_Click then exit sub
...
...
End Sub

Public function Truc_Click() as boolean
Truc_Click = false
...
...
....
Exit Sub 'Truc_Click est à faux
...
...
Truc_Click = true
End Sub



Le vrai voyage, c'est d'y aller. Une fois arrivé, le voyage est fini. Aujourd'hui les gens commencent par la fin.
3
bonjourc Messages postés 47 Date d'inscription mardi 19 mars 2013 Statut Membre Dernière intervention 23 mars 2013
7 janv. 2010 à 17:59
Tu lances une fonction A qui lance elle même lq fonction B
Si la fonction B ne marche pas, on arrête le traitement, on sort de B et de A.
Tu met ta fonction B en boolean, c'est a dire qu'elle ne pourra prendre que 2 valeurs; TRUE et FALSE
Tu initialise B à FALSE (au début de B), tu fais tout ton traitement, et à la fin, tu la passe à TRUE.
Si le déroulement de B est mauvais si il y a eu un problème, ou si tu décides de ne pas passer ta fonction à TRUE, elle va renvoyer FALSE.
Tu regardes ensuite la valeur de ta fonction B, et tu en déduis comment c'est passer le traitement, et tu peux agir en conséquence dans la fonction A.

Le vrai voyage, c'est d'y aller. Une fois arrivé, le voyage est fini. Aujourd'hui les gens commencent par la fin.
3
batssakuru Messages postés 5 Date d'inscription vendredi 10 août 2007 Statut Membre Dernière intervention 11 janvier 2010
7 janv. 2010 à 15:54
Merci pour ta réponse je vais essayer d'adapter ca a mon probleme, mais j'ai déja un peu de mal a piger le principe ^^ (je débute)
Merci beaucoup en tout ca!
0
batssakuru Messages postés 5 Date d'inscription vendredi 10 août 2007 Statut Membre Dernière intervention 11 janvier 2010
11 janv. 2010 à 17:56
Merci beaucoup mec pour les explications, ca marche a l'aise du coup
0
Rejoignez-nous