Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Passer d'un sub à l'autre

4 réponses
Avatar
Vince
Bonsoir

J'ai du code qui se trouve dans un formulaire et j'aimerais, une fois le
code exécuté, qu'il saute dans un autre sub qui se trouve dans le module de
base.

J'ai mis une ligne du genre

Private Sub formulaire ()
...
usdgraph
End Sub

puis j'ai créé un sub

Sub usdgraph ()
...
End sub

mais le code passe tout droit et ne va pas sur usdgraph...

Je ne comprends pas pourquoi car c'est pourtant ce que j'ai vu dans un
bouquin.

merci de votre aide

Vincent
mais le code passe tout droit

4 réponses

Avatar
jps
ton module de base (?) est dans le même classeur?
jps

"Vince" a écrit dans le message de news:

Bonsoir

J'ai du code qui se trouve dans un formulaire et j'aimerais, une fois le
code exécuté, qu'il saute dans un autre sub qui se trouve dans le module
de
base.

J'ai mis une ligne du genre

Private Sub formulaire ()
...
usdgraph
End Sub

puis j'ai créé un sub

Sub usdgraph ()
...
End sub

mais le code passe tout droit et ne va pas sur usdgraph...

Je ne comprends pas pourquoi car c'est pourtant ce que j'ai vu dans un
bouquin.

merci de votre aide

Vincent
mais le code passe tout droit



Avatar
MichDenis
Tu places tes 2 procédures dans un module standard et
tu appeles du formulaire les 2 procédures, une à la suite de l'auutre

Lorsque tu mettras ta procédure du formulaire dans un module, il
ne faut pas oublier de référencer correctement les objets à ton
formulaire utilisant ce type de syntaxe !
With Userform1
.Textbox1 = "Toto"
End with


'----------------------
Sub Formulaire()

Call Procédure1
Call Proédure2

End Sub
'----------------------


"Vince" a écrit dans le message de news:

Bonsoir

J'ai du code qui se trouve dans un formulaire et j'aimerais, une fois le
code exécuté, qu'il saute dans un autre sub qui se trouve dans le module de
base.

J'ai mis une ligne du genre

Private Sub formulaire ()
...
usdgraph
End Sub

puis j'ai créé un sub

Sub usdgraph ()
...
End sub

mais le code passe tout droit et ne va pas sur usdgraph...

Je ne comprends pas pourquoi car c'est pourtant ce que j'ai vu dans un
bouquin.

merci de votre aide

Vincent
mais le code passe tout droit
Avatar
Vince
En fait c'est assez compliqué. Ma macro traite des données qui sont importées
d'un autre logiciel (Bloomberg en l'occurrence). Ainsi à chaque import un
nouveau fichier Excel est créé et j'ai donc dû enregistrer le code de ma
macro sur le disque dur au format .bas.

Il y a également un formulaire.frm qui se trouve lui-aussi sur le disque dur
et qui est automatiquement importé par une ligne de code dans la macro.

Ainsi la macro.bas va se mettre dans le répértoire Modules et le
formulaire.frm dans le répértoire Form, tous deux dans le VBAProject du même
classeur.

Je sais pas si cela peut jouer un rôle mais le fichier créé par l'import est
un format .csv et c'est là-dessus que les macros sont lancées (mon code est
très long et il fonctionne très bien sauf ce problème).

Merci de ton aide.
A+
Vince


ton module de base (?) est dans le même classeur?
jps

"Vince" a écrit dans le message de news:

Bonsoir

J'ai du code qui se trouve dans un formulaire et j'aimerais, une fois le
code exécuté, qu'il saute dans un autre sub qui se trouve dans le module
de
base.

J'ai mis une ligne du genre

Private Sub formulaire ()
...
usdgraph
End Sub

puis j'ai créé un sub

Sub usdgraph ()
...
End sub

mais le code passe tout droit et ne va pas sur usdgraph...

Je ne comprends pas pourquoi car c'est pourtant ce que j'ai vu dans un
bouquin.

merci de votre aide

Vincent
mais le code passe tout droit







Avatar
zOrg2net
Bonjour Vince,
C'est en effet assez compliqué et je ne suis pas sûr d'avoir tout compris.
Mais en VBA si l'on veut faire tourner une sous routine, on l'appelle avec
Call. Exemple :

Call MaRoutine

J'espère que cela te servira. Dit le nous.
zOrg2net


En fait c'est assez compliqué. Ma macro traite des données qui sont importées
d'un autre logiciel (Bloomberg en l'occurrence). Ainsi à chaque import un
nouveau fichier Excel est créé et j'ai donc dû enregistrer le code de ma
macro sur le disque dur au format .bas.

Il y a également un formulaire.frm qui se trouve lui-aussi sur le disque dur
et qui est automatiquement importé par une ligne de code dans la macro.

Ainsi la macro.bas va se mettre dans le répértoire Modules et le
formulaire.frm dans le répértoire Form, tous deux dans le VBAProject du même
classeur.

Je sais pas si cela peut jouer un rôle mais le fichier créé par l'import est
un format .csv et c'est là-dessus que les macros sont lancées (mon code est
très long et il fonctionne très bien sauf ce problème).

Merci de ton aide.
A+
Vince


ton module de base (?) est dans le même classeur?
jps

"Vince" a écrit dans le message de news:

Bonsoir

J'ai du code qui se trouve dans un formulaire et j'aimerais, une fois le
code exécuté, qu'il saute dans un autre sub qui se trouve dans le module
de
base.

J'ai mis une ligne du genre

Private Sub formulaire ()
...
usdgraph
End Sub

puis j'ai créé un sub

Sub usdgraph ()
...
End sub

mais le code passe tout droit et ne va pas sur usdgraph...

Je ne comprends pas pourquoi car c'est pourtant ce que j'ai vu dans un
bouquin.

merci de votre aide

Vincent
mais le code passe tout droit