Bonjour,
Je veux faire une chose toute simple qui est de copier un onglet dans un nouveau fichier excel.
le soucis c'est que je m'embrouille avec les workbooks et les worksheet du coup mon code n'as vraiment plus de sens.
Quelqu"un pourrais m'aider a remettre un peu d'odre.
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
50
51
52
53
54
55
56
57
58
59
60
61 Dim oApp As Excel.Application Dim oWSht As Excel.Workbook Dim oWSht1 As Excel.Workbook Dim ClasseurXLS As Excel.Worksheet Dim ClasseurXLS1 As Excel.Worksheet Dim chemin As String Dim la_date As String Dim Fichier_Excel As Object Dim NomF_1 As String Dim NomF_2 As String Dim NomF_3 As String Dim chemin_Fichier_Origine As String Set Fichier_Excel = New Excel.Application Set Fichier_Origine = New Excel.Application chemin = InputBox("Entrez le chemin du ficher à créer") la_date = InputBox("Entrez la date de création du fichier : format AAAAMMJJ .") chemin_Fichier_Origine = InputBox("Entrez le chemin du ficher d'origine ainsi que le nom") NomF_1 = chemin & "\" & la_date & "_Actions.xls" NomF_2 = chemin & "\" & la_date & "_Risques.xls" NomF_3 = chemin & "\" & la_date & "_Decisions.xls" Fichier_Excel.Workbooks.Add On Error Resume Next Kill "NomF_1" On Error GoTo 0 '******* fichier source *********** Set oWSht1 = Workbooks.Open(chemin_Fichier_Origine) Set ClasseurXLS1 = oWSht1.Worksheets("Journal des risques & alertes") oWSht1.Worksheets("Journal des risques & alertes").Activate '******** fichier destination ********* Fichier_Excel.ActiveWorkbook.SaveAs NomF_1 Fichier_Excel.ActiveWorkbook.Close Set oWSht = Workbooks.Open(NomF_1) Set ClasseurXLS = oWSht.Worksheets("Feuil1") If chemin_Fichier_Origine <> "" Then oWSht1.Worksheets("Journal des risques & alertes").Select 'ici une erreur me dis que l'indice n'appartient pas a la section Selection.Copy oWSht.Activate 'Workbooks(NomF_1).Activate 'WorksSheets ("Feuil1") 'Cells.Select oWSht.ActiveSheet.Paste Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End If Fichier_Excel.ActiveWorkbook.SaveAs NomF_1 Set Fichier_Excel = Nothing msgbox ("fini")
Partager