à tous amis VBA-tiste !
Je souhaite dans le but d'implémenter une BDD, la remplir avec plusieurs tableaux de données.
J'effectue le code suivant :Tout fonctionnait à merveille jusqu'au numéro 23711 qui a décidé de ne pas marcher sans raison.
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 Private Sub BDD_Click() Dim BDD, Wb As Object Dim l, c As Integer Dim num As Long Dim str As String str = Worksheets(3).Range("C10") 'Se trouve dans C10 "C:\Users\Documents\Fichier\Comptage\Comptage2016" num = Worksheets(3).Range("C11") ' Se trouve dans C11 "23703". Le numéro change pour chaque tableau Set BDD = CreateObject("Scripting.FileSystemObject") Set Wb = GetObject(str & "_" & num & ".xlsx") If BDD.FileExists(str & ".xlsx") = False Then Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Dim xlSheet As Excel.Worksheet 'On crée l'objet Excel Set xlApp = CreateObject("Excel.Application") 'On défini le nombre d'onglets (ici 5) xlApp.SheetsInNewWorkbook = 10 'On ajoute un classeur Set xlBook = xlApp.Workbooks.Add 'On donne un nom au classeur xlBook.SaveAs (str & ".xlsx") 'On rend le classeur visible xlApp.Visible = True 'On crée l'objet onglet dans le nouveau classeur créé Set xlSheet = xlBook.Worksheets(1) 'On affecte un nom aux l'onglets xlSheet.Name = "BDD2016" End If Set BDD = GetObject("C:\Users\Documents\Fichier\Comptage\Comptage2016.xlsx") BDD.Sheets(1).Name = "BDD2016" BDD.Worksheets(2).Copy After:=BDD.Worksheets(1) BDD.Sheets(2).Name = "C_" & num BDD.Worksheets(2).Range("C2:C100").NumberFormatLocal = "hh:mm" BDD.Worksheets(2).Range("A1:F10").ClearContents For l = 1 To 30 For c = 1 To 10 BDD.Worksheets(2).Cells(l, c) = Wb.Worksheets(1).Cells(l, c) Next c Next l End Sub
Je n'ai pas changé mon code et pourtant Excel m'affiche "Nom du fichier ou de classe introuvable lors de l'opération Automation".
Il me pointe la ligne suivante :J'ai bien cherché pendant longtemps, j'ai presque tout essayé. Mais je reste sans explication.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Set Wb = GetObject(str & "_" & num & ".xlsx")
Est-ce que quelqu'un peut m'aider please ?![]()
Partager