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

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

Votre réponse

5 réponses

Meilleure réponse
Messages postés
6812
Date d'inscription
vendredi 16 décembre 2005
Dernière intervention
21 décembre 2011
- 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é 90 internautes ce mois-ci

Commenter la réponse de mortalino
Messages postés
29
Date d'inscription
jeudi 16 mars 2006
Dernière intervention
24 juillet 2007
- 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
Messages postés
29
Date d'inscription
jeudi 16 mars 2006
Dernière intervention
24 juillet 2007
- 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
Messages postés
588
Date d'inscription
jeudi 28 décembre 2006
Dernière intervention
29 avril 2010
- 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
Messages postés
4
Date d'inscription
jeudi 4 novembre 2010
Dernière intervention
25 novembre 2010
- 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.