Re : Importation de données externe via une Macro
Bonjour,
Désolé de revenir si tard mais j'avais d'autres chantiers en cours.
@Bebere: entre temps j'ai changé la disposition de mon tableau car on ne peu pas dépasser 256 colonnes (en plus je n'avais pas vu ta réponse).
En fouillant sur internet j'ai réussi a bricoler une macro qui marche bien:
Sub importlignes()
Dim Fichier As String, Chemin As String
Dim i As Long
'Répertoire contenant les fichiers
Chemin = "D:\Circutor\GTC\R0006"
Fichier = Dir(Chemin & "\*.csv")
'Boucle sur les fichiers
Do While Fichier <> ""
i = Range("A65536").End(xlUp).Row + 1
ImportText Chemin & "\" & Fichier, Cells(i, 1)
Fichier = Dir
Loop
End Sub
Sub ImportText(NomFichier As Variant, Cible As Range)
Dim QT As QueryTable
Set QT = ActiveSheet.QueryTables.Add(Connection:="TEXT;" & _
NomFichier, Destination:=Cible)
With QT
'Définit les séparateur de colonnes dans le fichier txt
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 1250
.TextFileStartRow = 2
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = True
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = True
.TextFileOtherDelimiter = """"
.TextFileColumnDataTypes = Array(9, 9, 9, 9, 1, 9, 1, 9, 1, 9, 9, 9, 9, 9, 1, 9, 1, 9, 9, 9, 9, _
9, 1, 9, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 9, 9, 9, 9, 9, 9, 9, 9 _
, 9, 9, 9, 1, 9, 9, 9, 9, 9, 9)
.TextFileDecimalSeparator = "."
.Refresh
End With
End Sub
Par contre maintenant j'ai un nouveau problème:
cela arrive que le PC qui enregistre les fichiers plante (comme ce week-end pars exemple) donc je n'ai pas de fichiers depuis samedi 4h jusqu'à ce matin 7h.
Dons si j'applique ma macro je me retrouve décalé dans mes dates.
J'ai donc voulu insérer des fichiers dans mon dossier avec les dates et heures qu'il me manquait.
Le problème est que ma macro fait le tri dans mon dossier sur les noms de fichiers (ordre alphabétique je pense) je cherche donc à modifier ma macro pour faire le tri sur la date de modification du fichier (sub importlignes) mais je ne trouve pas la solution.