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

compilation de fichiers csv

2 réponses
Avatar
Christophe Joly
Bonjour:

J'ai dans un dossier c:\forms\ des fichiers csv du type Form societeA.csv,
Form societeL.csv, Form SocieteX.csv, etc... qui peuvent etre en nombre
variable Chacun de ces fichiers ne comportent qu'une seule ligne lorque
ouvert dans excel.

J'aimerai pouvoir disposer d'une macro qui me permettrai d'obtenir un
fichier Form Compilation.xls qui contiendrait en un seul fichier toutes les
données des fichiers csv. Le fichier xls aurait autant de lignes que le
nombre de fichiers csv.

Merci d'avance de votre aide précieuse.

Christophe

2 réponses

Avatar
Clément Marcotte
Bonjour,

Pour boucler tous les fichiers d'un dossier, un paquet d'exemples par
là:

http://frederic.sigonneau.free.fr


Pour lire un fichier texte et séparer les éléments dans une ligne de
classeur Excel:

http://groups.google.com/groups?hl=fr&lr=&ie=UTF-8&c2coff=1&threadm=eRKOFgAoEHA.2304%40TK2MSFTNGP14.phx.gbl&rnum=1&prev=/groups%3Fq%3Dsplit%2Bgroup:microsoft.public.fr.excel%2Bauthor:clement.marcotte%2540sympatico.ca%26hl%3Dfr%26lr%3D%26ie%3DUTF-8%26c2coff%3D1%26sa%3DG%26scoring%3Dd


"Christophe Joly" a écrit dans le message de
news:4153c7ed$0$1900$
Bonjour:

J'ai dans un dossier c:forms des fichiers csv du type Form
societeA.csv,

Form societeL.csv, Form SocieteX.csv, etc... qui peuvent etre en
nombre

variable Chacun de ces fichiers ne comportent qu'une seule ligne
lorque

ouvert dans excel.

J'aimerai pouvoir disposer d'une macro qui me permettrai d'obtenir
un

fichier Form Compilation.xls qui contiendrait en un seul fichier
toutes les

données des fichiers csv. Le fichier xls aurait autant de lignes que
le

nombre de fichiers csv.

Merci d'avance de votre aide précieuse.

Christophe




Avatar
Christophe Joly
Bonjour Clément et merci:

La macro ci-dessous fonctionne (Pascal Engelmajer MPFE 26-04-2004) si ce
n'est que je vais devoir renommer mes fichiers Form01.csv, Form02.csv,
Form03.csv etc. et non pas Form Societe AAAAA.csv, Form Societe ABCDEF.csv,
Form Societe WDXDD.csv, etc.
Meme si cela n'est pas optimal et à moins que quelqu'un est une autre
solution, je peux m'en accommoder.

En revanche, ne souhaitant pas changer la macro en fonction du nombre de
fichiers à compiler j'ai choisi de faire 100 boucles mais la macro plante
par exemple aprés 58 boucles si je n'ai que 58 fichiers dans C:forms
parce que le fichier C:formsform59.csv est introuvable. Comment puis-je
remédier à cela?

Merci d'avance.

Christophe

Sub Conbinesheets()
Dim wb As Workbook
Dim wsCible As Worksheet
Dim ws As Worksheet
Dim cpy As Variant
Dim fic As String
Dim adrCible As String
Dim derLigneCible As Integer
Dim nbLigneSource As Integer
Dim no As String * 2
Dim iFic As Integer
Dim i As Integer
Application.ScreenUpdating = False
Set wsCible = ThisWorkbook.Sheets(1)
derLigneCible = 1
For iFic = 1 To 10
no = Format(iFic, "0#")
fic = "C:formsForm" & no & ".csv"
Set wb = Workbooks.Open(fic)
Set ws = wb.Sheets(1)
nbLigneSource = ws.Range("A65535").End(xlUp).Row
For i = 1 To nbLigneSource
adrCible = "A" & derLigneCible
cpy = ws.Rows(i).Value
wsCible.Range(adrCible).EntireRow.Value = cpy
derLigneCible = derLigneCible + 1
Next i
Application.DisplayAlerts = False
wb.Close
Application.DisplayAlerts = True
Next iFic
Application.ScreenUpdating = True
End Sub

"Clément Marcotte" a écrit dans le message
de news:%
Bonjour,

Pour boucler tous les fichiers d'un dossier, un paquet d'exemples par
là:

http://frederic.sigonneau.free.fr


Pour lire un fichier texte et séparer les éléments dans une ligne de
classeur Excel:


http://groups.google.com/groups?hl=fr&lr=&ie=UTF-8&c2coff=1&threadm=eRKOFgAoEHA.2304%40TK2MSFTNGP14.phx.gbl&rnum=1&prev=/groups%3Fq%3Dsplit%2Bgroup:microsoft.public.fr.excel%2Bauthor:clement.marcotte%2540sympatico.ca%26hl%3Dfr%26lr%3D%26ie%3DUTF-8%26c2coff%3D1%26sa%3DG%26scoring%3Dd



"Christophe Joly" a écrit dans le message de
news:4153c7ed$0$1900$
Bonjour:

J'ai dans un dossier c:forms des fichiers csv du type Form
societeA.csv,

Form societeL.csv, Form SocieteX.csv, etc... qui peuvent etre en
nombre

variable Chacun de ces fichiers ne comportent qu'une seule ligne
lorque

ouvert dans excel.

J'aimerai pouvoir disposer d'une macro qui me permettrai d'obtenir
un

fichier Form Compilation.xls qui contiendrait en un seul fichier
toutes les

données des fichiers csv. Le fichier xls aurait autant de lignes que
le

nombre de fichiers csv.

Merci d'avance de votre aide précieuse.

Christophe