[VBA Excel] Importation dynamique de code

Résolu
trainkill Messages postés 29 Date d'inscription jeudi 16 mars 2006 Statut Membre Dernière intervention 24 juillet 2007 - 19 juil. 2007 à 15:13
dionys0s Messages postés 3 Date d'inscription jeudi 4 novembre 2010 Statut Membre Dernière intervention 25 novembre 2010 - 25 nov. 2010 à 12:45
Bonjour,

Je suis en train de faire une macro dans un fichier excel qui exporte dans d'autres fichiers excels du code présent dans un fichier text.
Pour ce qui est des modules je n'ai pas de problème, mais j'aimerai savoir comment ajouter du code dynamiquement du code dans la page ThisWorkbook, afin de pouvoir ajouter du code évenementiel à l'ouverture, à la sauvegarde etc du fichier ?

Pour l'import je me sert de
Workbooks(Grip).VBProject.VBComponents.Import "Nom du fichier"

Mais elle me fait un apport basique dans une nouveau module de classe.

Merci

5 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
19 juil. 2007 à 15:22
salut,

effectivement, tu ne peux pas avoir deux module 'ThisWorkBook'. Il faut lire ton fichier texte (donc le code) et l'écrire dans ThisWorkBook avec InsertLine de l'objet CodeModule (si j'ai bonne mémoire)

@++

<hr size="2" width="100%" />( Nouveau forum : Exclusivement Office & VBA
3
trainkill Messages postés 29 Date d'inscription jeudi 16 mars 2006 Statut Membre Dernière intervention 24 juillet 2007
24 juil. 2007 à 11:52
Merci pour ta réponse rapide.
J'ai essayé de faire avec ta méthode, j'ai vu aussi qu'il y avait la méthode AddFromFile de CodeModule.

Pour acceder à l'objet CodeModule, j'ai vu qu'il fallait passer par l'objet CodePanes de l'objet VBE : ça donne en gros ça :

Application.VBE.CodePanes(1).CodeModule.AddFromFile Chemin

Mais voilà là ça ajoute au workbook qui éxecute la macro. J'ai essayé de preciser le workbook mais sans succès :

Workbooks("AutreWorkBook").VBProject.VBE.CodePanes(1).CodeModule.AddFromFile Chemin

ça fait toujours reference au premier workbook, et aussi un autre problème on dirait que le module ThisWorkbook n'est pas accessible depuis CodePanes(index) (j'ai bouclé sur tous et il n'est pas sorti)

Peut-être que ma méthode n'est pas la bonne
0
trainkill Messages postés 29 Date d'inscription jeudi 16 mars 2006 Statut Membre Dernière intervention 24 juillet 2007
24 juil. 2007 à 11:58
Non en fait je viens de trouver pour ceux que ça interesse :

Workbooks("Workbook.xls").VBProject.VBComponents.Item(1).CodeModule.AddFromFile Chemin

ça ajoute dans le premier module (donc "ThisWorkbook") du WorkBook renseigné.

Et bien j'aurai un peu galéré quand même pour cette toute petite ligne de code ':\

Merci en tout cas mortalino !
0
zen69 Messages postés 584 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 29 avril 2010 1
6 févr. 2008 à 17:43
Dans ton code chemin represente le chemin vers quel type de fichier?

Un mod .bas ou ?

Merci en avance.

<hr size="2" width="100%" />  zen69 aka Ortho Le Profett
  [site web]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dionys0s Messages postés 3 Date d'inscription jeudi 4 novembre 2010 Statut Membre Dernière intervention 25 novembre 2010
25 nov. 2010 à 12:45
Merci beaucoup pour ce thread !!!
0
Rejoignez-nous