Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Compiler du CSV vers du XLS

2 réponses
Avatar
Furion
Bonsoir tout le monde !

Il y a quelques semaines, JB m'avait donné le code suivant permettant de
compiler trois fichiers CSV en un seul.

ChDir ThisWorkbook.Path
Open "classeur1.csv" For Input As #1
Open "classeur5.csv" For Output As #2
'--1er fichier
Do While Not EOF(1)
Line Input #1, ligne
Print #2, ligne
Loop
Close #1
'-- 2e fichier
Open "classeur2.csv" For Input As #1
Line Input #1, ligne ' 1ere ligne
Do While Not EOF(1)
Line Input #1, ligne
Print #2, ligne
Loop
Close #1, #2


J'ai placé cette macro dans mon classeur excel et j'ai réussi à l'adapter à
mon cas mais je me retrouve aujourd'hui bloqué pour aller plus loin.

En effet, j'aurai besoin de compiler mes 3 fichiers CSV dans une des
feuilles de mon classeur (feuille appelée "temporaire") et non pas dans un
nouveau fichier CSV.

J'ai tout essayé mais impossible de l'adapter.

Est ce que quelqu'un aurait une solution ?

Merci d'avance pour votre précieuse aide.

Bonne soirée

2 réponses

Avatar
Benead
Bonsoir Furion,

Un truc comme cela en ouvrant les fichier en avec WorkBook.Open :

' ******
Sub Test()
Workbooks.Open "D:TempCsv1.csv"
Workbooks.Open "D:TempCsv2.csv"
Workbooks.Open "D:TempCsv3.csv"
With ThisWorkbook.Worksheets("Temporaire")
Workbooks("Csv1.csv").Worksheets(1).UsedRange.Copy .Cells(1, 1)
Workbooks("Csv2.csv").Worksheets(1).UsedRange.Copy .Cells(.UsedRange.Rows.Count + 1, 1)
Workbooks("Csv3.csv").Worksheets(1).UsedRange.Copy .Cells(.UsedRange.Rows.Count + 1, 1)
End With
End Sub
' ******

A+
Benead
XL2000

Furion a écrit:
Bonsoir tout le monde !

Il y a quelques semaines, JB m'avait donné le code suivant permettant de
compiler trois fichiers CSV en un seul.

ChDir ThisWorkbook.Path
Open "classeur1.csv" For Input As #1
Open "classeur5.csv" For Output As #2
'--1er fichier
Do While Not EOF(1)
Line Input #1, ligne
Print #2, ligne
Loop
Close #1
'-- 2e fichier
Open "classeur2.csv" For Input As #1
Line Input #1, ligne ' 1ere ligne
Do While Not EOF(1)
Line Input #1, ligne
Print #2, ligne
Loop
Close #1, #2


J'ai placé cette macro dans mon classeur excel et j'ai réussi à l'adapter à
mon cas mais je me retrouve aujourd'hui bloqué pour aller plus loin.

En effet, j'aurai besoin de compiler mes 3 fichiers CSV dans une des
feuilles de mon classeur (feuille appelée "temporaire") et non pas dans un
nouveau fichier CSV.

J'ai tout essayé mais impossible de l'adapter.

Est ce que quelqu'un aurait une solution ?

Merci d'avance pour votre précieuse aide.

Bonne soirée



Avatar
Furion
Désolé pour le retard mais je pensais qu'on me répondrai plus.

Merci bcp je vais tester ça


Bonsoir Furion,

Un truc comme cela en ouvrant les fichier en avec WorkBook.Open :

' ******
Sub Test()
Workbooks.Open "D:TempCsv1.csv"
Workbooks.Open "D:TempCsv2.csv"
Workbooks.Open "D:TempCsv3.csv"
With ThisWorkbook.Worksheets("Temporaire")
Workbooks("Csv1.csv").Worksheets(1).UsedRange.Copy .Cells(1, 1)
Workbooks("Csv2.csv").Worksheets(1).UsedRange.Copy .Cells(.UsedRange.Rows.Count + 1, 1)
Workbooks("Csv3.csv").Worksheets(1).UsedRange.Copy .Cells(.UsedRange.Rows.Count + 1, 1)
End With
End Sub
' ******

A+
Benead
XL2000

Furion a écrit:
Bonsoir tout le monde !

Il y a quelques semaines, JB m'avait donné le code suivant permettant de
compiler trois fichiers CSV en un seul.

ChDir ThisWorkbook.Path
Open "classeur1.csv" For Input As #1
Open "classeur5.csv" For Output As #2
'--1er fichier
Do While Not EOF(1)
Line Input #1, ligne
Print #2, ligne
Loop
Close #1
'-- 2e fichier
Open "classeur2.csv" For Input As #1
Line Input #1, ligne ' 1ere ligne
Do While Not EOF(1)
Line Input #1, ligne
Print #2, ligne
Loop
Close #1, #2


J'ai placé cette macro dans mon classeur excel et j'ai réussi à l'adapter à
mon cas mais je me retrouve aujourd'hui bloqué pour aller plus loin.

En effet, j'aurai besoin de compiler mes 3 fichiers CSV dans une des
feuilles de mon classeur (feuille appelée "temporaire") et non pas dans un
nouveau fichier CSV.

J'ai tout essayé mais impossible de l'adapter.

Est ce que quelqu'un aurait une solution ?

Merci d'avance pour votre précieuse aide.

Bonne soirée