Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Contribuez
Contribuez Placez ici vos codes, sources, trucs et astuces que vous souhaitez partager avec les membres du club.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/02/2007, 16h31   #1
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Par défaut [VBA]Exporter / importer tous les modules et frm d'un projet

La question étant récurrente et connaissant la réponse...
Donc, très largement inspiré d'un code de SilkyRoad, mais ne l'ayant pas trouvé dans la FAQ, une solution pour exporter et importer tous les objets d'un projet VBA.

Pour exporter :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub ExporterFrmEtModules()
Dim LeFich
    For Each LeFich In ThisWorkbook.VBProject.VBComponents
        Select Case LeFich.Type
            Case 1
                ThisWorkbook.VBProject.VBComponents(LeFich.Name).Export "D:\MesMacros\" & LeFich.Name & ".bas"
            Case 2
                ThisWorkbook.VBProject.VBComponents(LeFich.Name).Export "D:\MesMacros\" & LeFich.Name & ".cls"
            Case 3
                ThisWorkbook.VBProject.VBComponents(LeFich.Name).Export "D:\MesMacros\" & LeFich.Name & ".frm"
            Case 100
                ThisWorkbook.VBProject.VBComponents(LeFich.Name).Export "D:\MesMacros\LesFeuilles\" & LeFich.Name & ".cls"
        End Select
    Next
End Sub
Attention : Les feuilles de calculs ont la même extension que les modules de classe (cls) (pas le même type). Je ne les placerais pas dans le même répertoire (...)

Pour importer :
Code :
1
2
3
4
5
6
7
8
Sub ImporterTousLesFichiersDunRépertoire()  '"d'après" SilkyRoad
Dim NomFich
    NomFich = Dir("D:\MesMacros\*.*")
    Do While NomFich <> ""
        Application.VBE.ActiveVBProject.VBComponents.Import (NomFich)
        NomFich = Dir
    Loop
End Sub
Quelques liens utiles
Lien pour insérer du code dans une macro existante
Lien pour supprimer tous les modules d'un classeur
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h55.


 
 
 
 
Partenaires

Hébergement Web