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:
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.
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 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
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
Partager