xUpsilon
XLDnaute Accro
Bonsoir tout le monde,
Je reviens pour mon configurateur une fois de plus, et cette fois-ci l'erreur est assez marrante vous allez voir.
Sur le fichier ci-joint, on crée une feuille par catégorie, cette catégorie étant désignée par un titre et des noms (bref on s'en fout).
Toujours est-il que lorsque j'exécute la première fois juste après avoir ouvert mon fichier ma macro, j'ai une erreur qui est la suivante : "L'indice n'appartient pas à la sélection". Cette erreur s'adresse à la ligne suivante :
NomFeuil est défini à la ligne d'avant par :
Cette troisième feuille est créée au sein de la macro, quelques lignes plus haut.
Le problème est le suivant : Lorsque j'exécute la macro pour la première fois depuis que j'ai ouvert le fichier, j'ai une erreur, et lorsque je regarde mes variables locales, je vois que mon NomFeuil est égal à "", plutot que de prendre le CodeName.
En revanche, si je ferme la macro, que je supprime la page générée, et que je relance la macro, cette fois ci le NomFeuil prend la bonne valeur et la macro fonctionne donc correctement.
Est-ce que qqun a une idée ? J'ai essayé de remplir le CodeName juste après la création de la page, j'ai essayé de remplir le CodeName plusieurs fois, en me disant que peut-être sur le premier coup il était encore vide pour une raison ou pour une autre, mais rien n'y fait. Je ne comprends pas pourquoi uniquement lors de la première exécution le CodeName de la feuille que je crée est égal à "".
Merci d'avance pour toute aide !
Je reviens pour mon configurateur une fois de plus, et cette fois-ci l'erreur est assez marrante vous allez voir.
Sur le fichier ci-joint, on crée une feuille par catégorie, cette catégorie étant désignée par un titre et des noms (bref on s'en fout).
Toujours est-il que lorsque j'exécute la première fois juste après avoir ouvert mon fichier ma macro, j'ai une erreur qui est la suivante : "L'indice n'appartient pas à la sélection". Cette erreur s'adresse à la ligne suivante :
VB:
Wb.VBProject.VBComponents(NomFeuil).CodeModule.insertlines j, LeCode(j)
Code:
NomFeuil = Worksheets(3).CodeName
Le problème est le suivant : Lorsque j'exécute la macro pour la première fois depuis que j'ai ouvert le fichier, j'ai une erreur, et lorsque je regarde mes variables locales, je vois que mon NomFeuil est égal à "", plutot que de prendre le CodeName.
En revanche, si je ferme la macro, que je supprime la page générée, et que je relance la macro, cette fois ci le NomFeuil prend la bonne valeur et la macro fonctionne donc correctement.
Est-ce que qqun a une idée ? J'ai essayé de remplir le CodeName juste après la création de la page, j'ai essayé de remplir le CodeName plusieurs fois, en me disant que peut-être sur le premier coup il était encore vide pour une raison ou pour une autre, mais rien n'y fait. Je ne comprends pas pourquoi uniquement lors de la première exécution le CodeName de la feuille que je crée est égal à "".
Merci d'avance pour toute aide !