Un goto dans une autre sub

Résolu
drnicholas001 Messages postés 37 Date d'inscription vendredi 10 septembre 2004 Statut Membre Dernière intervention 21 avril 2007 - 19 mai 2005 à 03:50
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Modérateur Dernière intervention 23 décembre 2008 - 19 mai 2005 à 08:58
Salut, je voudrais savoir comment faire un goto dans une autre sub? C'est parce que j'ai un objet et après quelques lignes de code, je veux qu'il active un bouton mais pas faire tout le code qui est présent dans celui-ci, seulement une partie placer après un label. Merci

2 réponses

dp_favresa Messages postés 132 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 11 mai 2010
19 mai 2005 à 07:48
Bonjour,



Je vous propose d'utiliser un flag qui définira s'il faut ou non se débrancher

(voir petit exemple ci-dessous) :



Public Dbr As Integer



Sub Macro1()

Dbr = 1

Macro2

End Sub



Sub Macro2()

If Dbr = 1 Then

GoTo Dbr1

End If

ActiveCell.Value = 1

Dbr1:

ActiveCell.Value = 2

End Sub




Bon(nes) courage, développement, salutations...
(choisissez ce qui vous convient) dp
3
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Modérateur Dernière intervention 23 décembre 2008 23
19 mai 2005 à 08:58
Pas bête ...

ou plus simplement découper Macro2 en deux Sub.

Appeler les deux Sub dans Macro2, et n'en appeler qu'une seule dans Macro.

Niveau propreté du code, çà serait quand même mieux.





Sub Macro1()

proc2

End Sub



Sub Macro2()

proc1

End Sub



Sub proc1()

' Avant, tu avais çà :

' If condition Then Goto Etiquette

' Maintenant, tu as ceci :

If condition Then proc2

End Sub



Sub proc2()

' ...

End Sub





Si tu peux éviter les GoTo dans tes procédures, c'est mieux. Il est
préférable de garder ce genre d'instructions pour les
redirections en cas d'erreurs, parce que
pour çà, il n'y a pas d'autre méthode.


Manu
-------------------------------------------
Une question bien posée, c'est une chance de réponse bien adaptée.
0
Rejoignez-nous