OVH Cloud OVH Cloud

un piège assez piègeux : deux macro avec le même nom

1 réponse
Avatar
twinley
Bonjour,

Je suis tombé dans un piège assez piègeux. Je vous narre la chose par le
menu.

J'ai une macro dans un module Util. Je l'avais mise au point en
prévision de la suite.
Au moment opportun je la copie de son module Util pour la placer dans le
module4.

Et... j'oublie de la renommer. :-[

Je me retrouve avec deux sub qui ont le même nom. Ce qui m'était déjà
arrivé mais le compilateur avait eu la descence d'envoyé un avertissement.

Dans ce cas précis, le compilateur n'a pas été perturbé mais au moment
de lancer la macro par
Application.Run strNewnameshort & "!videlesdonnees"
il a quand même été perturbé en disant que la macro n'éxistait pas,
toutt en cachant la cause réelle, car la macro était doublement là.

Après deux heures d'errements, quelques poignées de cheveux et surtout
grâce au modèle que m'a envoyé FxM, j'ai pu d'une main sure remettre de
l'ordre dans le chaos, d'un grand coup de machette. :-$

Le bug est dans ma tête, c'est sûr, mais il n'y a pas toujours de
barrière...

Bonne aprème 8-)


--
à+twinley

1 réponse

Avatar
Benead
Salut Twinley,

Si tu as 2 macros qui ont le même code dans deux modules d'un même classeur, il faut préciser le nom du module comme ceci :

Sub test()
Application.Run "classeur1.xls!module1.test"
End Sub

A+
Benead

twinley a écrit:
Bonjour,

Je suis tombé dans un piège assez piègeux. Je vous narre la chose par le
menu.

J'ai une macro dans un module Util. Je l'avais mise au point en
prévision de la suite.
Au moment opportun je la copie de son module Util pour la placer dans le
module4.

Et... j'oublie de la renommer. :-[

Je me retrouve avec deux sub qui ont le même nom. Ce qui m'était déjà
arrivé mais le compilateur avait eu la descence d'envoyé un avertissement.

Dans ce cas précis, le compilateur n'a pas été perturbé mais au moment
de lancer la macro par
Application.Run strNewnameshort & "!videlesdonnees"
il a quand même été perturbé en disant que la macro n'éxistait pas,
toutt en cachant la cause réelle, car la macro était doublement là.

Après deux heures d'errements, quelques poignées de cheveux et surtout
grâce au modèle que m'a envoyé FxM, j'ai pu d'une main sure remettre de
l'ordre dans le chaos, d'un grand coup de machette. :-$

Le bug est dans ma tête, c'est sûr, mais il n'y a pas toujours de
barrière...

Bonne aprème 8-)