Bonjour le forum,

Je veux recopier tous les modules d'un classeur vers un autre classeur.

J'ai ce code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Option Explicit
 Sub test()
 Dim wbs As Workbook, wbd As Workbook, v As Object, f As String
 
 Set wbs = Workbooks("Fichier Source.xls")
 Set wbd = Workbooks("Fichier Destination.xls")
 
 If wbd.Sheets.Count < wbs.Sheets.Count Then Exit Sub
 
 With wbs.VBProject
     For Each v In .VBComponents
         If v.Type < 4 Then
             f = wbs.Path & "\test." & Choose(v.Type, "bas", "cls", "frm")
             v.Export f
             wbd.VBProject.VBComponents.Import f
             Kill f
             If v.Type = 3 Then Kill Left(f, Len(f) - 1) & "x"
         ElseIf v.Type = 100 Then
             If v.CodeModule.CountOfLines > 0 Then
                 With wbd.VBProject.VBComponents(v.CodeModule).CodeModule
                     .DeleteLines 1, .CountOfLines
                     .InsertLines .CountOfLines + 1, v.CodeModule.Lines(1, v.CodeModule.CountOfLines)
                 End With
             End If
         End If
     Next v
 End With
 End Sub
Ne pas oublier de cocher la case : Faire confiance au projet Visual Basic
Outils Macros => Sécurité => Editeurs approuvés => Faire confiance au projet Visual Basic

Et dans les Références, du VBA : Menu Outils => Références
Cocher => Microsoft Visual Basic for Applications Extensibiilty 5.3

Ça ne bug pas mais ça ne fait rien!!!
J'ai du oublier de faire quelque chose!!!
Quelqu'un aurait-il une astuce?
Merci pour vos éventuelles réponses
Cordialement