Importer un module .bas par code

J

jeff-system

Guest
Bonjour

voici ma problématique:

J'ai 900 Fichiers EXCEL dans lesquels je dois modifier le code VBA de 2 modules. (Ajout de 4 lignes de codes en tout)

Evidement je cherche une solution pour ne pas le faire à la main mais pour le moment impossible de trouver quoi que ce soit d'automatique pour le faire sur un fichier.

Si quelqu'un a une idée ?

Merci
 
Z

Zon

Guest
Salut,

Si tes fichiers sont tous dans le même repertoire, et ton module tu l'as déjà exporté .
Const Chemin$ = "C:\lenomdurépertoire" 'adapter le nom du dossier

sub Princ()
Dim T, C As Workbook
Dim I&
Application.ScreenUpdating = False
T = ChercheFichier("*.xls", Chemin)
If IsArray(T) Then
For I = LBound(T) To UBound(T)
Set C = Workbooks.Open(T(I))
SupprModule c,"Lenomdumodule" ' à adapter
importmodule c,"C:\Lefichier.bas" ' à adapter
next i
end if
end sub

Function ChercheFichier(NomF$, Rep$, Optional Sourep As Boolean = False)'Zon
Dim I&, Tablo
On Error Resume Next
With Application.FileSearch
.NewSearch
.LookIn = Rep
.Filename = NomF
.SearchSubFolders = Sourep
.Execute
ReDim Tablo(1 To .FoundFiles.Count)
For I = 1 To .FoundFiles.Count
Tablo(I) = .FoundFiles(I)
Next I
End With
On Error GoTo 0
ChercheFichier = IIf(I > 1, Tablo, "Pas de fichier trouvé " & Rep)
End Function

Sub ImportModule(C As Workbook, NomMod$)
On Error Resume Next
With C.VBProject.VBComponents
.Import NomMod
End With
End Sub

Sub SupprModule(C As Workbook, NomMod$)
With C.VBProject.VBComponents
.Remove .Item(NomMod)
End With
End Sub

A+++
 

Statistiques des forums

Discussions
313 095
Messages
2 095 214
Membres
106 223
dernier inscrit
gel