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
Partager