Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Connaitre nom module apres import .BAS

  • Initiateur de la discussion Initiateur de la discussion Creepy
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Creepy

XLDnaute Accro
Bonjour le Forum,

J’ai crée une macro qui importe automatiquement un fichier .BAS (sauvegarde de module VBA).

Dans mon interface VBA, j’ai donc un nouveau module qui s’ajoute avec son nom par exemple MonModule.

Si j’ouvre un deuxième .BAS, je vais avoir un nouveau nom qui va apparaître genre MonModule22.

J’aurais besoin de récupérer le nom de ce module importé, pour pouvoir après faire une création automatique de commandebar avec des beaux boutons correspondants aux macros de ce module.

Comment faire ?

Si dessous mon code :

Sub LoadModule()
'
' Cette Macro Charge un fichier Module .Bas
' Pratique pour les développements spécifiques à un service
'
Dim TmpBas As String
Dim Ws As Workbook

Set Ws = ActiveWorkbook
'ajouter le module de code contenant les fonctions
If Ws Is Nothing Then
MsgBox 'Pas de feuille Excel ouverte' & vbCrLf & 'Impossible d'ouvrir un module', vbCritical, 'Attention ...'
Exit Sub
Else
TmpBas = Application.GetOpenFilename(filefilter:='Fichier de Module (*.BAS), *.bas', Title:='Quel Module ?') ', MultiSelect = false)
If TmpBas = 'Faux' Or TmpBas = '' Then
Exit Sub
End If
ActiveWorkbook.VBProject.VBComponents.Import TmpBas
‘------ je voudrais un truc du genre : ----
NomdeModule = nom du module contenu dans le fichier TmpBas.(Ex : Module1)
‘---- Merci
CreateBarre
MsgBox 'Module importé avec succès !!', vbOKOnly, 'Résultat ..'

End If

End Sub

Merci d'avance

++

Creepy
 
Salut Creepy,

Après des heures de farfouille, bidouilles et autres tests plus ou moins heureux, je te livre mes reflexion en l'état :
la seule solution que je vois, c'est de faire un comparatif entre les feuilles de code avant et apres l'import avec une variable tableau que tu alimente comme suit :

Code:
For i = 1 To Application.VBE.codepanes.Count
Debug.Print Application.VBE.codepanes.Item(i).codemodule
Next

c'est moyennement joli mais ca a le mérite de marcher
A+
 
Re,

N'attends pas trop de ma part sur ce sujet là : j'avais regardé par curiosité mais je ne manipule pas les objets VBE avec du code. Je n'y ai pas encore trouvé d'intéret, vu que je ne fais que des outils pour moi ou une population tres restreinte 😛
Mais, on ne sait jamais.. si je tombe sur un truc par hasard 🙂
A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
15
Affichages
774
Réponses
2
Affichages
410
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…