Appel d'une "Sous-Sub" et Retour

  • Initiateur de la discussion Thierry
  • Date de début
T

Thierry

Guest
Un peu comme Gosub et Return , je veux lancer une "sous-macro" à partir de plusieurs macros principales différentes et revenir à la ligne suivant l'exécution...

Macro(1)
...
Application.run Macro:="MacroType"
(Revenir ici)
...


Macro(2)
...
Application.run Macro:="MacroType"
(Revenir ici)
...

En fait la macroType doit revenir dans sa macro parente à la ligne en-dessous...

Je n'y arrive pas si quelqu'un a la solution :)
Merci
 
@

@+Thierry

Guest
Bonjour Thierry, le Forum

Alors entre Thierry je voudrais bien t'aider mais ta question n'est pas une question... Enfin pas pour moi ! (ou alors suis à coté de la plaque)


Enfin voilà un exemple tout bidon mais qui démontre bien que quelque chose t'échappe (ou m'échappe)

Sub Macro1()
MsgBox "Hello World"
MacroType "US"
MsgBox "Bye bye World"
End Sub


Sub Macro2()
MsgBox "Bonjour le Monde"
MacroType "FR"
MsgBox "Au revoir le Monde"
End Sub


Sub MacroType(Language As String)

Select Case Language
Case "FR": MsgBox "Bon ben vous allez bien ?"
Case "US": MsgBox "Hey how are you doing ?"
End Select
End Sub


Quelque soit la Macro qui va tourner, elle fera tourner aussi la MacroType qui une fois exécutée reviendra poursuivre la procédure... Les deux macros disent bien Au revoir ou Bye Bye...

Ou alors explique un peu mieux ton problème

Bon Samedi à tous et toutes et à tous les Thierry !!! ;-)

@+Thierry
 
T

Thierry

Guest
Euh... La question, peut-être reformulée :) est la suivante :

De plusieurs feuilles de calcul je fais appel à une macro qui ouvre une feuille (Mvts, pour mouvements), et je voudrais revenir dans la feuille qui l'a appelée...

Si par exemple la Feuil1 appelle la Feuille Mvts, je veux revenir dans la Feuil1, et si c'est la Feuil2 qui l'appelle revenir dans la Feuil2. (ça, je sais faire, puisqu'en fait EXCEL le fait tout seul :), j'ai compris

Le problème est que dans la Feuille Mvts, j'ai un bouton Retour, et c'est ce bouton Retour qui me fait revenir dans la feuille qui a appelé Mvts (oulala, je ne sais pas si c'est plus clair que tout à l'heure...)

Donc ce bouton Retour doit connaître quelle est la macro qui a appelé la feuille Mvts pour pouvoir continuer la procédure (et non pas la redémarrer), et là, je ne sais pas faire
 
T

Thierry

Guest
En fait ce que j'ai fait, attendu que plusieurs écrans appelaient une même feuille, c'est que ces feuilles de départ sont nommés dans une variable... et le bouton retour récupère ces variables pour retourner dans les feuilles qui l'ont appelés...

J'espère que ma réponse est claire, en tous les cas, je peux presque oser demander de détruire ce fil, tellement il a peu d'intérêt :), il suffisait de poser clairement le problème !
 
@

@+Thierry

Guest
Bonsoir Thierry, le Forum

Euh oui en effet on est très très loin de ce que tu as formulé au départ !!! (lol)

Je ne sais pas ce que tu as fini par trouver mais je ne comprends pas plus avec ta réponse !

Le plus simple c'est que la macro qui appelle la feuille movement intègre simplement l'initialisation d'une seule variable, qui elle serait déclarée Public...

Exemple : Dans Un Module Standard

Public Feuille As String

Sub Bouton () ' boutons sur toutes les feuilles qui lancent cette macro
Feuille = ActiveSheet.Name

Sheets("Mvts").Activate

'Blah Blah blah
End Sub


Sub Retour () 'Ton Bouton retour depuis la feuille "Mvts"
Sheets(Feuille).Activate

'Blah Blal blah

End Sub

Ou alors je n'ai toujours rien compris ;-)

Bonne Nuit à tout le monde
@+Thierry
 
T

Thierry

Guest
Non c'est exactement cela, et c'est la raison pour laquelle je demandais de détruire ce fil :)... Ma question était ridicule, je pense que je cherchais à me compliquer la vie, alors que le résultat était si simple...

En tous les cas, merci pour ton aide, je pense que c'est en essayant de formuler correctement ma demande que j'ai trouvé la solution :)
 

Discussions similaires

Réponses
3
Affichages
655

Statistiques des forums

Discussions
314 121
Messages
2 106 128
Membres
109 495
dernier inscrit
jerome bonneau