Nom du fichier ou de classe introuvable lors de l'opération Automation
:salut: à 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 :
Code:
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 |
Tout fonctionnait à merveille jusqu'au numéro 23711 qui a décidé de ne pas marcher sans raison.
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 :
Code:
Set Wb = GetObject(str & "_" & num & ".xlsx")
J'ai bien cherché pendant longtemps, j'ai presque tout essayé. Mais je reste sans explication.
Est-ce que quelqu'un peut m'aider please ? :mrgreen: