Bonjour,

j'ai un code VBA qui ouvre différents classeurs et copie certaines feuilles dans un nouveau classeur.
Je demande une copier en valeur et format des données et en plus de renommer la feuille.

Tout fonctionne sauf le fait de renommer les feuilles, certaines feuilles sont bien renommées mais pas toutes.

Celles qui ne fonctionnent pas sont:
- ReportingWB.Sheets(1).Name = "PNLCumul"
- ReportingWB.Sheets(2).Name = "BS"
- ReportingWB.Sheets(3).Name = "Encours Clients"
- ReportingWB.Sheets(4).Name = "Top 20 Clients"
- ReportingWB.Sheets(5).Name = "Encours Fournisseurs"
- ReportingWB.Sheets(6).Name = "Top 20 Fournisseurs"

Les autres fonctionnent.

Est-ce que quelqu'un peu m'aider?

Merci

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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
Sub CopierDonneesEtMettreEnForme()
    Dim ReportingWB As Workbook
    Dim PNLCumulWB As Workbook
    Dim BSWB As Workbook
    Dim EncoursClientsWB As Workbook
    Dim Top20ClientsWB As Workbook
    Dim EncoursFournisseursWB As Workbook
    Dim Top20FournisseursWB As Workbook
    Dim EvolutionStockWB As Workbook
    Dim AnalyseEncoursWB As Workbook
 
    ' Ouvrir le fichier "PNL - ODBC BOB.xlsx"
    Set PNLCumulWB = Workbooks.Open("Q:\Comptabilite\Reporting\2023\Fichiers de travail\PNL - ODBC BOB.xlsx")
 
    ' Copier les données de l'onglet "PNLCumul" en valeurs et mise en forme
    PNLCumulWB.Sheets("PNLCumul").UsedRange.Copy
    Set ReportingWB = Workbooks.Add
    With ReportingWB.Sheets(1)
        .Cells(1, 1).PasteSpecial Paste:=xlPasteValues
        .Cells(1, 1).PasteSpecial Paste:=xlPasteFormats
    End With
    ReportingWB.Sheets(1).Name = "PNLCumul"
 
    ' Ouvrir le fichier "Balance Sheet - ODBC BOB.xlsx"
    Set BSWB = Workbooks.Open("Q:\Comptabilite\Reporting\2023\Fichiers de travail\Balance Sheet - ODBC BOB.xlsx")
 
    ' Copier les données de l'onglet "BS" en valeurs et mise en forme
    BSWB.Sheets("BS").UsedRange.Copy
    With ReportingWB.Sheets.Add
        .Cells(1, 1).PasteSpecial Paste:=xlPasteValues
        .Cells(1, 1).PasteSpecial Paste:=xlPasteFormats
    End With
    ReportingWB.Sheets(2).Name = "BS"
 
    ' Ouvrir le fichier "Encours client par echeance.xlsx"
    Set EncoursClientsWB = Workbooks.Open("Q:\Comptabilite\Reporting\2023\Fichiers de travail\Encours client par echeance.xlsx")
 
    ' Actualiser le tableau croisé dynamique et copier les données de l'onglet "Reporting" en valeurs et mise en forme
    EncoursClientsWB.Sheets("Reporting").PivotTables("Tableau croisé dynamique9").RefreshTable
    EncoursClientsWB.Sheets("Reporting").UsedRange.Copy
    With ReportingWB.Sheets.Add
        .Cells(1, 1).PasteSpecial Paste:=xlPasteValues
        .Cells(1, 1).PasteSpecial Paste:=xlPasteFormats
    End With
    ReportingWB.Sheets(3).Name = "Encours Clients"
 
    ' Ouvrir le fichier "Top 20 Clients.xlsx"
    Set Top20ClientsWB = Workbooks.Open("Q:\Comptabilite\Reporting\2023\Fichiers de travail\Top 20 Clients.xlsx")
 
    ' Actualiser le tableau croisé dynamique et copier les données de l'onglet "Top20Clients" en valeurs et mise en forme
    Top20ClientsWB.Sheets("Top20Clients").PivotTables("Tableau croisé dynamique1").RefreshTable
    Top20ClientsWB.Sheets("Top20Clients").UsedRange.Copy
    With ReportingWB.Sheets.Add
        .Cells(1, 1).PasteSpecial Paste:=xlPasteValues
        .Cells(1, 1).PasteSpecial Paste:=xlPasteFormats
    End With
    ReportingWB.Sheets(4).Name = "Top 20 Clients"
 
    ' Ouvrir le fichier "Encours fournisseur par echeance.xlsx"
    Set EncoursFournisseursWB = Workbooks.Open("Q:\Comptabilite\Reporting\2023\Fichiers de travail\Encours fournisseur par echeance.xlsx")
 
    ' Actualiser le tableau croisé dynamique et copier les données de l'onglet "Reporting" en valeurs et mise en forme
    EncoursFournisseursWB.Sheets("Reporting").PivotTables("Tableau croisé dynamique9").RefreshTable
    EncoursFournisseursWB.Sheets("Reporting").UsedRange.Copy
    With ReportingWB.Sheets.Add
        .Cells(1, 1).PasteSpecial Paste:=xlPasteValues
        .Cells(1, 1).PasteSpecial Paste:=xlPasteFormats
    End With
    ReportingWB.Sheets(5).Name = "Encours Fournisseurs"
 
    ' Ouvrir le fichier "Top 20 Fournisseurs.xlsx"
    Set Top20FournisseursWB = Workbooks.Open("Q:\Comptabilite\Reporting\2023\Fichiers de travail\Top 20 Fournisseurs.xlsx")
 
    ' Actualiser le tableau croisé dynamique et copier les données de l'onglet "Top20Fournisseurs" en valeurs et mise en forme
    Top20FournisseursWB.Sheets("Top20Fournisseurs").PivotTables("Tableau croisé dynamique1").RefreshTable
    Top20FournisseursWB.Sheets("Top20Fournisseurs").UsedRange.Copy
    With ReportingWB.Sheets.Add
        .Cells(1, 1).PasteSpecial Paste:=xlPasteValues
        .Cells(1, 1).PasteSpecial Paste:=xlPasteFormats
    End With
    ReportingWB.Sheets(6).Name = "Top 20 Fournisseurs"
 
    ' Ouvrir le fichier "Analyse encours de stock.xlsx"
    Set EvolutionStockWB = Workbooks.Open("Q:\Comptabilite\Reporting\2023\Fichiers de travail\Analyse encours de stock.xlsx")
 
    ' Actualiser le tableau croisé dynamique et copier les données de l'onglet "Evolution Stock PC" en valeurs et mise en forme
    EvolutionStockWB.Sheets("Evolution Stock PC").PivotTables("Tableau croisé dynamique1").RefreshTable
    EvolutionStockWB.Sheets("Evolution Stock PC").UsedRange.Copy
    With ReportingWB.Sheets.Add
        .Cells(1, 1).PasteSpecial Paste:=xlPasteValues
        .Cells(1, 1).PasteSpecial Paste:=xlPasteFormats
    End With
    ReportingWB.Sheets(7).Name = "Evolution Stock PC"
 
    ' Actualiser les tableaux croisés dynamiques dans l'onglet "Données Graph"
   ' ReportingWB.Sheets("Données Graph").PivotTables("Tableau croisé dynamique1").RefreshTable
    'ReportingWB.Sheets("Données Graph").PivotTables("Tableau croisé dynamique2").RefreshTable
   ' ReportingWB.Sheets("Données Graph").PivotTables("Tableau croisé dynamique9").RefreshTable
   ' ReportingWB.Sheets("Données Graph").PivotTables("Tableau croisé dynamique10").RefreshTable
   ' ReportingWB.Sheets("Données Graph").PivotTables("Tableau croisé dynamique11").RefreshTable
 
    ' Copier les onglets de graphiques
    EvolutionStockWB.Sheets("Graphique1").Copy After:=ReportingWB.Sheets("Evolution Stock PC")
    ReportingWB.Sheets(8).Name = "Graphique1"
    EvolutionStockWB.Sheets("Graphique2").Copy After:=ReportingWB.Sheets("Graphique1")
    ReportingWB.Sheets(9).Name = "Graphique2"
    EvolutionStockWB.Sheets("Graphique3").Copy After:=ReportingWB.Sheets("Graphique2")
    ReportingWB.Sheets(10).Name = "Graphique3"
    EvolutionStockWB.Sheets("Graphique4").Copy After:=ReportingWB.Sheets("Graphique3")
    ReportingWB.Sheets(11).Name = "Graphique4"
    EvolutionStockWB.Sheets("Graphique5").Copy After:=ReportingWB.Sheets("Graphique4")
    ReportingWB.Sheets(12).Name = "Graphique5"
    EvolutionStockWB.Sheets("Graphique6").Copy After:=ReportingWB.Sheets("Graphique5")
    ReportingWB.Sheets(13).Name = "Graphique6"
 
    ' Fermer les fichiers source
    PNLCumulWB.Close SaveChanges:=False
    BSWB.Close SaveChanges:=False
    EncoursClientsWB.Close SaveChanges:=False
    Top20ClientsWB.Close SaveChanges:=False
    EncoursFournisseursWB.Close SaveChanges:=False
    Top20FournisseursWB.Close SaveChanges:=False
    EvolutionStockWB.Close SaveChanges:=False
 
    ' Enregistrer le fichier "reporting.xlsx" sous Q:\Comptabilite\Reporting\2023\Fichiers de travail\
    ReportingWB.SaveAs "Q:\Comptabilite\Reporting\2023\Fichiers de travail\reporting.xlsx", FileFormat:=xlOpenXMLWorkbook
    ReportingWB.Close SaveChanges:=False
 
    ' Libérer la mémoire
    Set PNLCumulWB = Nothing
    Set BSWB = Nothing
    Set EncoursClientsWB = Nothing
    Set Top20ClientsWB = Nothing
    Set EncoursFournisseursWB = Nothing
    Set Top20FournisseursWB = Nothing
    Set EvolutionStockWB = Nothing
    Set ReportingWB = Nothing
End Sub