Un goto dans une autre sub [Résolu]

Signaler
Messages postés
37
Date d'inscription
vendredi 10 septembre 2004
Statut
Membre
Dernière intervention
21 avril 2007
-
Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
-
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

Messages postés
132
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
11 mai 2010

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
Merci

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

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

Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
22
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.