Bonjour les VBeurs, 🙂
J'essaye depuis quelques jours d'extraire moulte fichiers CSV dans une feuille excel.
Quand j'enregistre l'import de données j'ai ce coeur de fonction :
	
	
	
	
	
		
Et j'aimerai bien pouvoir faire ceci sur environ, euh, 200 fichiers ? 😱
Vous remarquez que je commence à la ligne 7 de mon fichier, là où sont les données qui m'intéressent.
J'ai trouvé d'autres méthodes pour ouvrir des fichiers csv mais je ne vois pas comment commencé à une ligne X avec... Si vous en connaissez, je suis ouvert !
J'aimerai en fait faire une boucle de ce type :
	
	
	
	
	
		
Où je remplacerai ActiveCell.Formula = Fichier par mon import.
Mon souci est que je n'arrive pas à paramétrer
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;c:\Tests\fichier.csv" _
, Destination:=Range("A1"))
Pour remplacer le lien vers le fichier et la destination...
Quelqu'un aurait une idée ? 🙂
Merci d'avance.
	
		
			
		
		
	
				
			J'essaye depuis quelques jours d'extraire moulte fichiers CSV dans une feuille excel.
Quand j'enregistre l'import de données j'ai ce coeur de fonction :
		Code:
	
	
	        With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;c:\Tests\fichier.csv" _
        , Destination:=Range("A1"))
        .Name = "fichier.csv"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 850
        .TextFileStartRow = 7
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = False
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = True
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, _
        1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
End With
	Et j'aimerai bien pouvoir faire ceci sur environ, euh, 200 fichiers ? 😱
Vous remarquez que je commence à la ligne 7 de mon fichier, là où sont les données qui m'intéressent.
J'ai trouvé d'autres méthodes pour ouvrir des fichiers csv mais je ne vois pas comment commencé à une ligne X avec... Si vous en connaissez, je suis ouvert !
J'aimerai en fait faire une boucle de ce type :
		Code:
	
	
	Sub importCSV()
Dim i As Integer
Dim Fichier As String
Dim CHEMIN As String
CHEMIN = "C:\Test"
Fichier = Dir(CHEMIN & "*.csv")
    Do While Fichier <> ""
        ActiveCell.Formula = Fichier
        Fichier = Dir
        i = i + 1
        Rows(i).Select
    Loop
End Sub
	Où je remplacerai ActiveCell.Formula = Fichier par mon import.
Mon souci est que je n'arrive pas à paramétrer
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;c:\Tests\fichier.csv" _
, Destination:=Range("A1"))
Pour remplacer le lien vers le fichier et la destination...
Quelqu'un aurait une idée ? 🙂
Merci d'avance.