[VBA Excel] Importation dynamique de code [Résolu]

trainkill 29 Messages postés jeudi 16 mars 2006Date d'inscription 24 juillet 2007 Dernière intervention - 19 juil. 2007 à 15:13 - Dernière réponse : dionys0s 4 Messages postés jeudi 4 novembre 2010Date d'inscription 25 novembre 2010 Dernière intervention
- 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
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
mortalino 6812 Messages postés vendredi 16 décembre 2005Date d'inscription 21 décembre 2011 Dernière intervention - 19 juil. 2007 à 15:22
3
Merci
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

Merci mortalino 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de mortalino
trainkill 29 Messages postés jeudi 16 mars 2006Date d'inscription 24 juillet 2007 Dernière intervention - 24 juil. 2007 à 11:52
0
Merci
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
Commenter la réponse de trainkill
trainkill 29 Messages postés jeudi 16 mars 2006Date d'inscription 24 juillet 2007 Dernière intervention - 24 juil. 2007 à 11:58
0
Merci
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 !
Commenter la réponse de trainkill
zen69 588 Messages postés jeudi 28 décembre 2006Date d'inscription 29 avril 2010 Dernière intervention - 6 févr. 2008 à 17:43
0
Merci
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]
Commenter la réponse de zen69
dionys0s 4 Messages postés jeudi 4 novembre 2010Date d'inscription 25 novembre 2010 Dernière intervention - 25 nov. 2010 à 12:45
0
Merci
Merci beaucoup pour ce thread !!!
Commenter la réponse de dionys0s

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.