Bonjour,
J'ai une macro dans ma feuille Transfert de fichier (version MAD)2.xls qui lors de son execution m'ouvre le fichier transfert_fichiers2.csv . La macro importe bien le fichier mais le formattage est pas le bon et j'aurai besoin de votre aide svp.
Voici la macro qui fait le travail :
Je vous laisse en piece jointe aussi mon fichier contenant ma macro et le fichier que je desire importer. Je souhaite simplement que lors de l'importation, tout s'affiche pareil que lorsque j'ouvre le fichier transfert_fichiers2.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 Sub LireFichierTxt() Dim Ligne As String, NoLigne As Long, NoCol As Integer Dim Tableau, Chemin, NomFich Chemin = "I:\49801\Public\#AMK#\MAD\" NomFich = "transfert_fichiers.csv" NoLigne = 2 Open Chemin & NomFich For Input As #1 While Not EOF(1) Input #1, Ligne Tableau = Split(Ligne, ",") NoLigne = NoLigne + 1 For NoCol = 0 To UBound(Tableau) Cells(NoLigne, NoCol + 1).Value = Tableau(NoCol) Next Wend Close #1 End Sub
En ce moment, il affiche les donnees sur plsieurs lignes sans tenir compte des tabulations.
Merci de votre aide d'avance pour une piste !
resalut,
j'ai essayé de lire le fichier transfert_fichiers2.csv via une connection adodb mais helas, les extensions .csv de la méthode de Skillyroad sont pas acceptés.
Code utilisé :
Si quelqu'un à une idée, merci de m'aider !
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 Sub RequeteClasseurFerme() Dim Cn As ADODB.Connection Dim Fichier As String Dim NomFeuille As String, texte_SQL As String Dim Rst As ADODB.Recordset 'Définit le classeur fermé servant de base de données Fichier = "I:\49801\Public\#AMK#\MAD\transfert_fichiers2.csv" 'Nom de la feuille dans le classeur fermé NomFeuille = "transfert_fichiers2" Set Cn = New ADODB.Connection '--- Connection --- With Cn .Provider = "Microsoft.Jet.OLEDB.4.0" .ConnectionString = "Data Source=" & Fichier & _ ";Extended Properties=Excel 8.0;" .Open End With '----------------- 'Définit la requête. '/!\ Attention à ne pas oublier le symbole $ après le nom de la feuille. texte_SQL = "SELECT * FROM [" & NomFeuille & "$]" Set Rst = New ADODB.Recordset Set Rst = Cn.Execute(texte_SQL) 'Ecrit le résultat de la requête dans la cellule A2 Range("A2").CopyFromRecordset Rst '--- Fermeture connexion --- Cn.Close Set Cn = Nothing End Sub
Partager