CopyFromRecordset bug aléatoire
Bonjour,
Voici mon code qui me pose probleme et voici mon probleme
J'ouvre un fichier excel en base de donnée (fichier assez gros) il me lit la premiere ligne et la copie le tout dans une boucle tant que nous ne sommes pas sur le derniere enregistrement.
Jusque la tout va bien mais à la ligne "ActiveCell.CopyFromRecordset Rst
" il bug de manière aléatoire et me renvoie une erreur CopyFromRecordset de l'objet Range a échoué...
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 47
|
Dim Source As ADODB.Connection
Dim Rst As ADODB.Recordset
Dim ADOCommand As ADODB.Command
Dim Fichier As String, Cellule As String, Feuille As String, I As String
'Adresse de la cellule contenant la donnée à récupérer
I = 2
Cellule = "A" & I & ":BK" & I & ""
Feuille = "Feuil1$" 'n'oubliez pas d'ajouter $ au nom de la feuille.
'Chemin complet du classeur fermé
Fichier = V_Imp
Set Source = New ADODB.Connection
Source.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Fichier & ";Extended Properties=""Excel 8.0;HDR=No;"";"
Set ADOCommand = New ADODB.Command
'While Not (Rst.EOF)
With ADOCommand
.ActiveConnection = Source
.CommandText = "SELECT * FROM [" & Feuille & Cellule & "]"
End With
Set Rst = New ADODB.Recordset
Rst.Open ADOCommand, , adOpenKeyset, adLockOptimistic
While Not (Rst.BOF)
Set Rst = Source.Execute("[" & Feuille & Cellule & "]")
'Range("A5").Activate
ActiveCell.CopyFromRecordset Rst
ActiveCell.Offset(1, 0).Activate
I = I + 1
Cellule = "A" & I & ":BK" & I & ""
Wend
Rst.Close
Source.Close
Set Source = Nothing
Set Rst = Nothing
Set ADOCommand = Nothing |
Merci d'avance...