un piège assez piègeux : deux macro avec le même nom
1 réponse
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...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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-)
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...
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...