VBA excel : Importer un module

Signaler
Messages postés
10
Date d'inscription
jeudi 6 juin 2002
Statut
Membre
Dernière intervention
6 décembre 2007
-
Messages postés
29
Date d'inscription
jeudi 20 janvier 2005
Statut
Membre
Dernière intervention
30 novembre 2006
-
Comment peut-on importer un module d'un projet excel dans un autre projet excel.
On sait le faire en glisser, je présume donc qu'on doit pouvoir le faire en programmation.

D'avance merci.
GTY.

3 réponses

Messages postés
1133
Date d'inscription
mercredi 2 octobre 2002
Statut
Membre
Dernière intervention
24 juillet 2011
1
Pas simple... Je crois que pour programmer cela, il faut que tu utilises du code lié à l'IDE.

Pour se faire, il te faut charger la dll "Microsoft Visual Basic for Applications Extensibility" +N°DeVersion (via la boît de références). Ce fichier se trouve théoriquement dans "C:\Program Files\Fichiers communs\Microsoft Shared\VBA\VBA6", je crois que c'est "VBE6EXT.OLB"

Programmix
Messages postés
262
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
19 décembre 2010
6
Essaye ceci :

Sub Export_Import()

Dim oXlWbk As Workbook
Dim sFileName As String

'Ouvrir le classeur où se trouve le module à exporter
Set oXlWbk = Workbooks.Open("C:\MonClasseur.xls")

With oXlWbk
'Définir le fichier temporaire
sFileName = .Path & "\code.txt"
'Exporter le module "Module1" dans le fichier temporaire
.VBProject.VBComponents("Module1").Export sFileName
'Fermer le classeur
.Close
End With

'Importer le fichier temporaire dans le classeur actif
ThisWorkbook.VBProject.VBComponents.Import sFileName

'Supprimer le fichier temporaire
Kill sFileName

End Sub

Slts

wape
Messages postés
29
Date d'inscription
jeudi 20 janvier 2005
Statut
Membre
Dernière intervention
30 novembre 2006

bonjour,
je suis très interessé par ce petit morceau de code mais je n'arrive pas à le faire tourner. j'ai un problème à la ligne :
.VBProject.VBComponents("Module1").Export sFileName

que j'ai remplacé par :

.VBAProject.VBComponents("Module1").Export sFileName

qui me semblais plus logique. l'erreur est la suivante : " proprietée ou methode non gérée par l'objet" en effet VBComponents ne m'est pas proposé quand je tappe la ligne.

Y a t'il un autre moyen d'exporter un module vers un autre classeur excel ?

Je pense que ce code doit être valide depuis VB mais pas depuis VBA.