Un goto dans une autre sub [Résolu]

drnicholas001
Messages postés
37
Date d'inscription
vendredi 10 septembre 2004
Dernière intervention
21 avril 2007
- 19 mai 2005 à 03:50 - Dernière réponse : econs
Messages postés
4066
Date d'inscription
mardi 13 mai 2003
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
Afficher la suite 

2 réponses

Meilleure réponse
dp_favresa
Messages postés
132
Date d'inscription
vendredi 23 juillet 2004
Dernière intervention
11 mai 2010
- 19 mai 2005 à 07:48
3
Merci
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

Merci dp_favresa 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

econs
Messages postés
4066
Date d'inscription
mardi 13 mai 2003
Dernière intervention
23 décembre 2008
- 19 mai 2005 à 08:58
0
Merci
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.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.