à titre d'informations supplémentaires, il est à noter que le nom des
feuilles (onglet) et le nom des objets "Module" ne
peuvent avoir plus de 31 caractères. De plus, les noms des modules ne
peuvent être validés si ce dernier contient un
espace ...
Cette nouvelle version tient compte de ce qui précède ....
'-----------------------------------
Sub Copier()
Dim Tblo
Dim Repertoire As String
Dim wk As Workbook
Dim wk1 As Workbook
Set wk = ThisWorkbook
Repertoire = "c:excel"
Tblo = Dir(Repertoire)
While Tblo <> ""
If LCase(Right(Tblo, 4)) = ".xls" Then
Set wk1 = Workbooks.Open(Tblo)
RenommerLesFeuilles wk1
RenommerLesModules wk1
'Copier toutes les feuilles
wk1.Worksheets.Copy After:=wk.Sheets(wk.Sheets.Count)
'copier Tous les modules
CopierTousLesModules wk1, wk
wk1.Close False
End If
Tblo = Dir()
Wend
End Sub
'-----------------------------------
Sub RenommerLesFeuilles(wk As Workbook)
Dim A As Integer
For Each sh In wk.Worksheets
A = A + 1
sh.Name = Left(Left(wk.Name, Len(wk.Name) - 4), 28) & "_" & A
Next
End Sub
'-----------------------------------
Sub RenommerLesModules(wk As Workbook)
Dim A As Integer
For Each comp In wk.VBProject.VBComponents
A = A + 1
comp.Name = WorksheetFunction.Substitute(Left(Left(wk.Name, _
Len(wk.Name) - 4) & "_" & A, 28), " ", "_")
b = comp.Name
Next
End Sub
'-----------------------------------
Sub CopierTousLesModules(wk1 As Workbook, wk As Workbook)
For Each comp In wk1.VBProject.VBComponents
If comp.Type <> 100 Then
comp.Export "C:AAA"
Set p = wk.VBProject.VBComponents.Import("c:AAA")
p.Name = comp.Name
Kill "c:AAA"
End If
Next
End Sub
'-----------------------------------
Salutations!
à titre d'informations supplémentaires, il est à noter que le nom des
feuilles (onglet) et le nom des objets "Module" ne
peuvent avoir plus de 31 caractères. De plus, les noms des modules ne
peuvent être validés si ce dernier contient un
espace ...
Cette nouvelle version tient compte de ce qui précède ....
'-----------------------------------
Sub Copier()
Dim Tblo
Dim Repertoire As String
Dim wk As Workbook
Dim wk1 As Workbook
Set wk = ThisWorkbook
Repertoire = "c:excel"
Tblo = Dir(Repertoire)
While Tblo <> ""
If LCase(Right(Tblo, 4)) = ".xls" Then
Set wk1 = Workbooks.Open(Tblo)
RenommerLesFeuilles wk1
RenommerLesModules wk1
'Copier toutes les feuilles
wk1.Worksheets.Copy After:=wk.Sheets(wk.Sheets.Count)
'copier Tous les modules
CopierTousLesModules wk1, wk
wk1.Close False
End If
Tblo = Dir()
Wend
End Sub
'-----------------------------------
Sub RenommerLesFeuilles(wk As Workbook)
Dim A As Integer
For Each sh In wk.Worksheets
A = A + 1
sh.Name = Left(Left(wk.Name, Len(wk.Name) - 4), 28) & "_" & A
Next
End Sub
'-----------------------------------
Sub RenommerLesModules(wk As Workbook)
Dim A As Integer
For Each comp In wk.VBProject.VBComponents
A = A + 1
comp.Name = WorksheetFunction.Substitute(Left(Left(wk.Name, _
Len(wk.Name) - 4) & "_" & A, 28), " ", "_")
b = comp.Name
Next
End Sub
'-----------------------------------
Sub CopierTousLesModules(wk1 As Workbook, wk As Workbook)
For Each comp In wk1.VBProject.VBComponents
If comp.Type <> 100 Then
comp.Export "C:AAA"
Set p = wk.VBProject.VBComponents.Import("c:AAA")
p.Name = comp.Name
Kill "c:AAA"
End If
Next
End Sub
'-----------------------------------
Salutations!
à titre d'informations supplémentaires, il est à noter que le nom des
feuilles (onglet) et le nom des objets "Module" ne
peuvent avoir plus de 31 caractères. De plus, les noms des modules ne
peuvent être validés si ce dernier contient un
espace ...
Cette nouvelle version tient compte de ce qui précède ....
'-----------------------------------
Sub Copier()
Dim Tblo
Dim Repertoire As String
Dim wk As Workbook
Dim wk1 As Workbook
Set wk = ThisWorkbook
Repertoire = "c:excel"
Tblo = Dir(Repertoire)
While Tblo <> ""
If LCase(Right(Tblo, 4)) = ".xls" Then
Set wk1 = Workbooks.Open(Tblo)
RenommerLesFeuilles wk1
RenommerLesModules wk1
'Copier toutes les feuilles
wk1.Worksheets.Copy After:=wk.Sheets(wk.Sheets.Count)
'copier Tous les modules
CopierTousLesModules wk1, wk
wk1.Close False
End If
Tblo = Dir()
Wend
End Sub
'-----------------------------------
Sub RenommerLesFeuilles(wk As Workbook)
Dim A As Integer
For Each sh In wk.Worksheets
A = A + 1
sh.Name = Left(Left(wk.Name, Len(wk.Name) - 4), 28) & "_" & A
Next
End Sub
'-----------------------------------
Sub RenommerLesModules(wk As Workbook)
Dim A As Integer
For Each comp In wk.VBProject.VBComponents
A = A + 1
comp.Name = WorksheetFunction.Substitute(Left(Left(wk.Name, _
Len(wk.Name) - 4) & "_" & A, 28), " ", "_")
b = comp.Name
Next
End Sub
'-----------------------------------
Sub CopierTousLesModules(wk1 As Workbook, wk As Workbook)
For Each comp In wk1.VBProject.VBComponents
If comp.Type <> 100 Then
comp.Export "C:AAA"
Set p = wk.VBProject.VBComponents.Import("c:AAA")
p.Name = comp.Name
Kill "c:AAA"
End If
Next
End Sub
'-----------------------------------
Salutations!
à titre d'informations supplémentaires, il est à noter que le nom des
feuilles (onglet) et le nom des objets "Module" ne
peuvent avoir plus de 31 caractères. De plus, les noms des modules ne
peuvent être validés si ce dernier contient un
espace ...
Cette nouvelle version tient compte de ce qui précède ....
'-----------------------------------
Sub Copier()
Dim Tblo
Dim Repertoire As String
Dim wk As Workbook
Dim wk1 As Workbook
Set wk = ThisWorkbook
Repertoire = "c:excel"
Tblo = Dir(Repertoire)
While Tblo <> ""
If LCase(Right(Tblo, 4)) = ".xls" Then
Set wk1 = Workbooks.Open(Tblo)
RenommerLesFeuilles wk1
RenommerLesModules wk1
'Copier toutes les feuilles
wk1.Worksheets.Copy After:=wk.Sheets(wk.Sheets.Count)
'copier Tous les modules
CopierTousLesModules wk1, wk
wk1.Close False
End If
Tblo = Dir()
Wend
End Sub
'-----------------------------------
Sub RenommerLesFeuilles(wk As Workbook)
Dim A As Integer
For Each sh In wk.Worksheets
A = A + 1
sh.Name = Left(Left(wk.Name, Len(wk.Name) - 4), 28) & "_" & A
Next
End Sub
'-----------------------------------
Sub RenommerLesModules(wk As Workbook)
Dim A As Integer
For Each comp In wk.VBProject.VBComponents
A = A + 1
comp.Name = WorksheetFunction.Substitute(Left(Left(wk.Name, _
Len(wk.Name) - 4) & "_" & A, 28), " ", "_")
b = comp.Name
Next
End Sub
'-----------------------------------
Sub CopierTousLesModules(wk1 As Workbook, wk As Workbook)
For Each comp In wk1.VBProject.VBComponents
If comp.Type <> 100 Then
comp.Export "C:AAA"
Set p = wk.VBProject.VBComponents.Import("c:AAA")
p.Name = comp.Name
Kill "c:AAA"
End If
Next
End Sub
'-----------------------------------
Salutations!
à titre d'informations supplémentaires, il est à noter que le nom des
feuilles (onglet) et le nom des objets "Module" ne
peuvent avoir plus de 31 caractères. De plus, les noms des modules ne
peuvent être validés si ce dernier contient un
espace ...
Cette nouvelle version tient compte de ce qui précède ....
'-----------------------------------
Sub Copier()
Dim Tblo
Dim Repertoire As String
Dim wk As Workbook
Dim wk1 As Workbook
Set wk = ThisWorkbook
Repertoire = "c:excel"
Tblo = Dir(Repertoire)
While Tblo <> ""
If LCase(Right(Tblo, 4)) = ".xls" Then
Set wk1 = Workbooks.Open(Tblo)
RenommerLesFeuilles wk1
RenommerLesModules wk1
'Copier toutes les feuilles
wk1.Worksheets.Copy After:=wk.Sheets(wk.Sheets.Count)
'copier Tous les modules
CopierTousLesModules wk1, wk
wk1.Close False
End If
Tblo = Dir()
Wend
End Sub
'-----------------------------------
Sub RenommerLesFeuilles(wk As Workbook)
Dim A As Integer
For Each sh In wk.Worksheets
A = A + 1
sh.Name = Left(Left(wk.Name, Len(wk.Name) - 4), 28) & "_" & A
Next
End Sub
'-----------------------------------
Sub RenommerLesModules(wk As Workbook)
Dim A As Integer
For Each comp In wk.VBProject.VBComponents
A = A + 1
comp.Name = WorksheetFunction.Substitute(Left(Left(wk.Name, _
Len(wk.Name) - 4) & "_" & A, 28), " ", "_")
b = comp.Name
Next
End Sub
'-----------------------------------
Sub CopierTousLesModules(wk1 As Workbook, wk As Workbook)
For Each comp In wk1.VBProject.VBComponents
If comp.Type <> 100 Then
comp.Export "C:AAA"
Set p = wk.VBProject.VBComponents.Import("c:AAA")
p.Name = comp.Name
Kill "c:AAA"
End If
Next
End Sub
'-----------------------------------
Salutations!
à titre d'informations supplémentaires, il est à noter que le nom des
feuilles (onglet) et le nom des objets "Module" ne
peuvent avoir plus de 31 caractères. De plus, les noms des modules ne
peuvent être validés si ce dernier contient un
espace ...
Cette nouvelle version tient compte de ce qui précède ....
'-----------------------------------
Sub Copier()
Dim Tblo
Dim Repertoire As String
Dim wk As Workbook
Dim wk1 As Workbook
Set wk = ThisWorkbook
Repertoire = "c:excel"
Tblo = Dir(Repertoire)
While Tblo <> ""
If LCase(Right(Tblo, 4)) = ".xls" Then
Set wk1 = Workbooks.Open(Tblo)
RenommerLesFeuilles wk1
RenommerLesModules wk1
'Copier toutes les feuilles
wk1.Worksheets.Copy After:=wk.Sheets(wk.Sheets.Count)
'copier Tous les modules
CopierTousLesModules wk1, wk
wk1.Close False
End If
Tblo = Dir()
Wend
End Sub
'-----------------------------------
Sub RenommerLesFeuilles(wk As Workbook)
Dim A As Integer
For Each sh In wk.Worksheets
A = A + 1
sh.Name = Left(Left(wk.Name, Len(wk.Name) - 4), 28) & "_" & A
Next
End Sub
'-----------------------------------
Sub RenommerLesModules(wk As Workbook)
Dim A As Integer
For Each comp In wk.VBProject.VBComponents
A = A + 1
comp.Name = WorksheetFunction.Substitute(Left(Left(wk.Name, _
Len(wk.Name) - 4) & "_" & A, 28), " ", "_")
b = comp.Name
Next
End Sub
'-----------------------------------
Sub CopierTousLesModules(wk1 As Workbook, wk As Workbook)
For Each comp In wk1.VBProject.VBComponents
If comp.Type <> 100 Then
comp.Export "C:AAA"
Set p = wk.VBProject.VBComponents.Import("c:AAA")
p.Name = comp.Name
Kill "c:AAA"
End If
Next
End Sub
'-----------------------------------
Salutations!