Import donnees csv avec QueryTable.Refresh
Bonjour,
Je ne manipule pas souvent VBA et je galère depuis un moment car je souhaite écrire une macro qui importe des données provenant de fichiers csv dont je ne connais pas l'emplacement et le nom a l'avance.
J'utilise donc QueryTable.Refresh plutôt que QueryTables.Add.
Voici mon code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
Sub ma_fonction()
' Ajout du 1er csv dans feuil_1
Sheets("feuil_1").Select
Range("A2").Select
With Selection.QueryTable
.TextFilePlatform = 65001
.TextFileStartRow = 2
End With
Selection.QueryTable.Refresh BackgroundQuery:=False
' Ajout du 1er csv dans feuil_2
Sheets("feuil_2").Select
Range("A2").Select
With Selection.QueryTable
.TextFilePlatform = 65001
.TextFileStartRow = 2
End With
Selection.QueryTable.Refresh BackgroundQuery:=False
End Sub |
La première fois que j'ai exécué ma fonction j'ai bien réussi à avoir l'explorateur de fichier pour choisir l'emplacement de mon 1er csv et l'import de ce 1er csv a bien été réalisé, j'ai ensuite eu une erreur pour le 2eme csv.
L'erreur est du type: Erreur d'exécution '1004' : Erreur définie par l'application ou par l'objet
J'ai relancer ma fonction et maintenant j'ai l'erreur même dès le 1er csv.
J'ai essayé un ActiveWorkbook.RefreshAll qui ne m'a rien apporté.
On dirais que quelque chose est resté en cache ....
Est-ce que quelqu'un a une idée pour me débloquer?
Merci pour votre aide
Claire