La macro que je souhaite réaliser est toute simple,
il faut:
- ouvrir deux fichiers (avec des boites de dialogues)
- créer un autre fichier avec 3 onglets nommés
- copier chacun des deux fichiers ouverts dans les deux premiers onglets du fichier créé
- et faire un traitement de mise en forme

Je pêche dans la 3eme étape et je ne comprend pas du tout pourquoi...

Voici mon 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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Sub Rectangle1_QuandClic()
 
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim dmm As Excel.Worksheet
Dim console As Excel.Worksheet
Dim comp As Excel.Worksheet
 
    'On créer l'objet Excel
    Set xlApp = CreateObject("Excel.Application")
    'On défini le nombre d'onglets (ici 5)
    xlApp.SheetsInNewWorkbook = 3
    'On ajoute un classeur
    Set xlBook = xlApp.Workbooks.Add
 
    'On créer l'objet onglet dans le nouveau classeur créé
    Set dmm = xlBook.Worksheets(1)
    Set console = xlBook.Worksheets(2)
    Set comp = xlBook.Worksheets(3)
    'On affecte un nom aux l'onglets
    dmm.Name = "Valeurs DMM"
    console.Name = "Valeurs console"
    comp.Name = "Comparatif"
 
 
Classeur = Application.GetOpenFilename("Classeurs Excel,*")
If Classeur = False Then Exit Sub
Workbooks.OpenText Filename:=Classeur, DataType:=1, Semicolon:=True, local:=True
Columns("A:F").Select
Selection.Copy
xlBook.dmm.Activate
'xlBook.Activate
'dmm.Select
ActiveSheet.Paste
 
 
Classeur = Application.GetOpenFilename("Classeurs Excel,*")
If Classeur = False Then Exit Sub
Workbooks.OpenText Filename:=Classeur, DataType:=1, Semicolon:=True, local:=True
 
Columns("A:F").Select
Selection.Copy
xlBook.Activate
console.Select
ActiveSheet.Paste
 
xlApp.Visible = True
 
End Sub