OVH Cloud OVH Cloud

appel de module ne va pas

8 réponses
Avatar
Ghislain
Bonjour,

Comme ma premi=E8re question est de hier, je la reformule ci-
apr=E8s.
=20
Merci d=E9j=E0 =E0 "A_S_rauphil@wanadoo.fr" d'avoir d=E9j=E0 fait=20
une premi=E8re r=E9ponse mais cela n'a pas =E9t=E9.

J'ai le messagebox d'erreur suivant: "Erreur de=20
compilation - Variable ou proc=E9dure attendue, et non un=20
module".

Cela passe OK si les 2 proc=E8dures se trouvent dans le m=EAme=20
module: on passe d'une proc=E9dure =E0 l'autre sans probl=E8me.
Mais cela ne va pas si il s'agit de 2 modules distincts.

Merci de l'aide

Revoici ce que j'avais =E9crit hier:

>> Merci pour m'aider pour ceci:
>>
>> =E0 partir d'une routine (sub ... end) je sais appeller=20
une
>> autre routine plac=E9e dans un m=EAme module (call ...,
>> d'ailleurs "call" n'est m=EAme pas n=E9cessaire).
>>
>> Mais comment appeller un autre des modules de mon=20
classeur
>> tout en revenant au premier apr=E8s?
>>
>> Merci
>>
>> Amiti=E9s
>>
>> Ghislain
>>

8 réponses

Avatar
Papyty
Bonjour @ tous et à Ghislain :
Cela passe OK si les 2 procèdures se trouvent dans le même
module: on passe d'une procédure à l'autre sans problème.
Mais cela ne va pas si il s'agit de 2 modules distincts.


Ce que tu décris laisse penser que utilise 2 modules de feuille.
Dans ce cas tu dois modifier la procédure si "alors" se trouve dans le
module de la feuille2 comme ceci:

Sub joue_un_autre()
Feuil2.alors
End Sub

--
@+
Thierry
27/12/2003 22:50:48

Avatar
Balain
Bonsoir,

Si tu as suivi la solution de Philippe, cela doit marcher. ton message est
celui que tu obtiendrais si tu avais fait un CALL au module au lieu de faire
un CALL à la procédure SUB dans le module.

NB : il faut éviter de donner au module le m^me nom que la procédure...

Balain

"Ghislain" a écrit dans le message de
news:01d901c3ccc2$0ec0e470$
Bonjour,

Comme ma première question est de hier, je la reformule ci-
après.

Merci déjà à "" d'avoir déjà fait
une première réponse mais cela n'a pas été.

J'ai le messagebox d'erreur suivant: "Erreur de
compilation - Variable ou procédure attendue, et non un
module".

Cela passe OK si les 2 procèdures se trouvent dans le même
module: on passe d'une procédure à l'autre sans problème.
Mais cela ne va pas si il s'agit de 2 modules distincts.

Merci de l'aide

Revoici ce que j'avais écrit hier:

Merci pour m'aider pour ceci:

à partir d'une routine (sub ... end) je sais appeller
une


autre routine placée dans un même module (call ...,
d'ailleurs "call" n'est même pas nécessaire).

Mais comment appeller un autre des modules de mon
classeur


tout en revenant au premier après?

Merci

Amitiés

Ghislain





Avatar
Ghislain
Merci mais, hélas cela ne passe pas.

J'essaye d'expliquer: j'ai 1 classeur avec 2 feuilles.
En VBA je vois bien ces 2 feuilles dans la petite fenêtre,
il n'y a pas de macro individuelle dans ces feuilles.

Toujours dans la petite fenêtre, j'ai aussi 3 modules.
Chacun a un nom différent, bien sûr, en n'a qu'une seule
routine.

Un de ces modules sert de tri "TRI"
Dans le module 2 "liste_rouge", j'ai besoin de trier et
désire appeller le module TRI puis continuer.

Donc ma question comment, en "liste_rouge" appeller "TRI"?

Sauf bien sûr de coller toutes mes fonctions dans le même
module. MAis ce n'est pas mon but.

Merci

Ghislain

-----Message d'origine-----
Bonjour @ tous et à Ghislain :
Cela passe OK si les 2 procèdures se trouvent dans le
même


module: on passe d'une procédure à l'autre sans
problème.


Mais cela ne va pas si il s'agit de 2 modules distincts.


Ce que tu décris laisse penser que utilise 2 modules de
feuille.

Dans ce cas tu dois modifier la procédure si "alors" se
trouve dans le

module de la feuille2 comme ceci:

Sub joue_un_autre()
Feuil2.alors
End Sub

--
@+
Thierry
27/12/2003 22:50:48
.




Avatar
Ghislain
Merci Balain de m'aider, mais cela ne va pas.

Vois svp ma réponse à Papyty

Ghislain

-----Message d'origine-----
Bonsoir,

Si tu as suivi la solution de Philippe, cela doit
marcher. ton message est

celui que tu obtiendrais si tu avais fait un CALL au
module au lieu de faire

un CALL à la procédure SUB dans le module.

NB : il faut éviter de donner au module le m^me nom que
la procédure...


Balain

"Ghislain" a écrit
dans le message de

news:01d901c3ccc2$0ec0e470$
Bonjour,

Comme ma première question est de hier, je la reformule
ci-

après.

Merci déjà à "" d'avoir déjà fait
une première réponse mais cela n'a pas été.

J'ai le messagebox d'erreur suivant: "Erreur de
compilation - Variable ou procédure attendue, et non un
module".

Cela passe OK si les 2 procèdures se trouvent dans le même
module: on passe d'une procédure à l'autre sans problème.
Mais cela ne va pas si il s'agit de 2 modules distincts.

Merci de l'aide

Revoici ce que j'avais écrit hier:

Merci pour m'aider pour ceci:

à partir d'une routine (sub ... end) je sais appeller
une


autre routine placée dans un même module (call ...,
d'ailleurs "call" n'est même pas nécessaire).

Mais comment appeller un autre des modules de mon
classeur


tout en revenant au premier après?

Merci

Amitiés

Ghislain






.





Avatar
Ghislain
CECI ANNULE MON DERNEIR MESSAGE

car cela passe.

J'ai compris :

il faut mettre NOM_DU_MODULE.LE_NOM_DE_LA_PROCEDURE

Le nom du module seul ne va pas ... puisqu'il peut
possèder plusieurs procédures.

Merci

Ghislain


-----Message d'origine-----
Bonsoir,

Si tu as suivi la solution de Philippe, cela doit
marcher. ton message est

celui que tu obtiendrais si tu avais fait un CALL au
module au lieu de faire

un CALL à la procédure SUB dans le module.

NB : il faut éviter de donner au module le m^me nom que
la procédure...


Balain

"Ghislain" a écrit
dans le message de

news:01d901c3ccc2$0ec0e470$
Bonjour,

Comme ma première question est de hier, je la reformule
ci-

après.

Merci déjà à "" d'avoir déjà fait
une première réponse mais cela n'a pas été.

J'ai le messagebox d'erreur suivant: "Erreur de
compilation - Variable ou procédure attendue, et non un
module".

Cela passe OK si les 2 procèdures se trouvent dans le même
module: on passe d'une procédure à l'autre sans problème.
Mais cela ne va pas si il s'agit de 2 modules distincts.

Merci de l'aide

Revoici ce que j'avais écrit hier:

Merci pour m'aider pour ceci:

à partir d'une routine (sub ... end) je sais appeller
une


autre routine placée dans un même module (call ...,
d'ailleurs "call" n'est même pas nécessaire).

Mais comment appeller un autre des modules de mon
classeur


tout en revenant au premier après?

Merci

Amitiés

Ghislain






.





Avatar
Papyty
Bonjour @ tous et à Ghislain :
Dans le module 2 "liste_rouge", j'ai besoin de trier et
désire appeller le module TRI puis continuer.


Balain à raison le probleme est que tu appels le module, tu dois appeler
les ou la sub à l'interieur du module tri qui doivent avoir un nom
différent du nom du module.
--
@+
Thierry
27/12/2003 23:31:43

Avatar
Ghislain
CECI ANNULE MON DERNIER MESSAGE

car cela passe.

J'ai compris :

il faut mettre NOM_DU_MODULE.LE_NOM_DE_LA_PROCEDURE

Le nom du module seul ne va pas ... puisqu'il peut
possèder plusieurs procédures.

Merci

Ghislain

-----Message d'origine-----
Merci mais, hélas cela ne passe pas.

J'essaye d'expliquer: j'ai 1 classeur avec 2 feuilles.
En VBA je vois bien ces 2 feuilles dans la petite
fenêtre,

il n'y a pas de macro individuelle dans ces feuilles.

Toujours dans la petite fenêtre, j'ai aussi 3 modules.
Chacun a un nom différent, bien sûr, en n'a qu'une seule
routine.

Un de ces modules sert de tri "TRI"
Dans le module 2 "liste_rouge", j'ai besoin de trier et
désire appeller le module TRI puis continuer.

Donc ma question comment, en "liste_rouge" appeller "TRI"?

Sauf bien sûr de coller toutes mes fonctions dans le même
module. MAis ce n'est pas mon but.

Merci

Ghislain

-----Message d'origine-----
Bonjour @ tous et à Ghislain :
Cela passe OK si les 2 procèdures se trouvent dans le
même


module: on passe d'une procédure à l'autre sans
problème.


Mais cela ne va pas si il s'agit de 2 modules
distincts.




Ce que tu décris laisse penser que utilise 2 modules de
feuille.

Dans ce cas tu dois modifier la procédure si "alors" se
trouve dans le

module de la feuille2 comme ceci:

Sub joue_un_autre()
Feuil2.alors
End Sub

--
@+
Thierry
27/12/2003 22:50:48
.

.






Avatar
Philippe.R
Re,
Tu peux même, comme je tentais de l'expliquer dans ma première réponse, sous réserve que le nom de la
procédure soit unique, l'appeler par son nom depuis une autre procédure d'un autre module :

sub une_macro()
Le_nom_de_la_procédure_appelée
end sub

sans même faire référence au nom du module (sauf si tu y tiens bien sur)
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002
Pour suivre le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"Ghislain" a écrit dans le message de
news:022001c3ccca$a1d6b9d0$
CECI ANNULE MON DERNIER MESSAGE

car cela passe.

J'ai compris :

il faut mettre NOM_DU_MODULE.LE_NOM_DE_LA_PROCEDURE

Le nom du module seul ne va pas ... puisqu'il peut
possèder plusieurs procédures.

Merci

Ghislain

-----Message d'origine-----
Merci mais, hélas cela ne passe pas.

J'essaye d'expliquer: j'ai 1 classeur avec 2 feuilles.
En VBA je vois bien ces 2 feuilles dans la petite
fenêtre,

il n'y a pas de macro individuelle dans ces feuilles.

Toujours dans la petite fenêtre, j'ai aussi 3 modules.
Chacun a un nom différent, bien sûr, en n'a qu'une seule
routine.

Un de ces modules sert de tri "TRI"
Dans le module 2 "liste_rouge", j'ai besoin de trier et
désire appeller le module TRI puis continuer.

Donc ma question comment, en "liste_rouge" appeller "TRI"?

Sauf bien sûr de coller toutes mes fonctions dans le même
module. MAis ce n'est pas mon but.

Merci

Ghislain

-----Message d'origine-----
Bonjour @ tous et à Ghislain :
Cela passe OK si les 2 procèdures se trouvent dans le
même


module: on passe d'une procédure à l'autre sans
problème.


Mais cela ne va pas si il s'agit de 2 modules
distincts.




Ce que tu décris laisse penser que utilise 2 modules de
feuille.

Dans ce cas tu dois modifier la procédure si "alors" se
trouve dans le

module de la feuille2 comme ceci:

Sub joue_un_autre()
Feuil2.alors
End Sub

--
@+
Thierry
27/12/2003 22:50:48
.

.