Bonjour le forum,
Je veux recopier tous les modules d'un classeur vers un autre classeur.
J'ai ce code:
Ne pas oublier de cocher la case : Faire confiance au projet Visual Basic
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
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
Partager