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

import feuilles csv multiples

5 réponses
Avatar
ToOmS
Bonjour =E0 tous,

Quelqu'un sait-il comment je pourrais simplement cr=E9er de nouvelles
feuilles, dans un classeur ouvert, =E0 partir de plusieurs fichiers
CSV ? Lorsque je demande l'ouverture de plusieurs fichiers dans le
menu Fichier/Ouvrir..., Excel cr=E9e autant de classeurs distincts...
Si non, comment peut-on fusionner rapidement tous les classeurs
ouverts en un seul qui concat=E8ne les feuilles de chacun ?

Merci d'avance, Thomas.

5 réponses

Avatar
Laurent DUB
Bonjour,
rien à voir avec excel mais
Dans le dos, tu peux faire: "copy *.csv toto.csv"(tous les csv en toto.csv)
tu doit pouvoir l'intégrer en vba avec la commande "shell" il me semble
cdlt
Lr Db

"ToOmS" a écrit dans le message de news:

Bonjour à tous,

Quelqu'un sait-il comment je pourrais simplement créer de nouvelles
feuilles, dans un classeur ouvert, à partir de plusieurs fichiers
CSV ? Lorsque je demande l'ouverture de plusieurs fichiers dans le
menu Fichier/Ouvrir..., Excel crée autant de classeurs distincts...
Si non, comment peut-on fusionner rapidement tous les classeurs
ouverts en un seul qui concatène les feuilles de chacun ?

Merci d'avance, Thomas.
Avatar
ToOmS
On 3 jan, 14:50, "Laurent DUB" wrote:
Bonjour,
rien à voir avec excel mais
Dans le dos, tu peux faire: "copy *.csv toto.csv"(tous les csv en toto.csv )
tu doit pouvoir l'intégrer en vba avec la commande "shell" il me semble
cdlt
Lr Db


Merci, mais je ne veux pas concaténer les fichiers CSV dans une seule
feuille, mais bien dans des feuilles distinctes d'un même classeur.

Avatar
Ellimac
Bonjour,

A placer dans le classeur des macros personnelles :
Sub Concat_3Feuilles()
b = Workbooks.Count - 1
For cpt = 1 To b
a = ActiveWorkbook.Name
If cpt = 1 Then
ActiveSheet.Copy
Else
ActiveSheet.Copy After:=Workbooks(n).Sheets(cpt - 1)
End If
ActiveSheet.Name = a
n = ActiveWorkbook.Name
Windows(a).Close
On Error Resume Next
ActiveWindow.ActivateNext
Next
End Sub

Camille


Bonjour à tous,

Quelqu'un sait-il comment je pourrais simplement créer de nouvelles
feuilles, dans un classeur ouvert, à partir de plusieurs fichiers
CSV ? Lorsque je demande l'ouverture de plusieurs fichiers dans le
menu Fichier/Ouvrir..., Excel crée autant de classeurs distincts...
Si non, comment peut-on fusionner rapidement tous les classeurs
ouverts en un seul qui concatène les feuilles de chacun ?

Merci d'avance, Thomas.



Avatar
ToOmS
On 3 jan, 15:40, Ellimac wrote:
Bonjour,

A placer dans le classeur des macros personnelles :
Sub Concat_3Feuilles()
b = Workbooks.Count - 1
For cpt = 1 To b
a = ActiveWorkbook.Name
If cpt = 1 Then
ActiveSheet.Copy
Else
ActiveSheet.Copy After:=Workbooks(n).Sheets(cpt - 1)
End If
ActiveSheet.Name = a
n = ActiveWorkbook.Name
Windows(a).Close
On Error Resume Next
ActiveWindow.ActivateNext
Next
End Sub

Camille


Merci ; si je comprends bien, cette macro récupère les feuilles
(toutes ?) des classeurs, autres que le classeur courant, pour les
insérer dans le classeur courant. Il faut donc d'abord ouvrir les CSV,
mais c'est un moindre mal.
Bonne soirée !

Avatar
Ellimac
Bonjour,

En effet il faut ouvrir les CSV au préalable. De mémoire un CSV ne possède
qu'une feuille non ?
Chez moi j'ai placé un -1 dans le décompte des feuilles car il me compte un
classeur masqué (Perso.xls).

Camille


On 3 jan, 15:40, Ellimac wrote:
Bonjour,

A placer dans le classeur des macros personnelles :
Sub Concat_3Feuilles()
b = Workbooks.Count - 1
For cpt = 1 To b
a = ActiveWorkbook.Name
If cpt = 1 Then
ActiveSheet.Copy
Else
ActiveSheet.Copy After:=Workbooks(n).Sheets(cpt - 1)
End If
ActiveSheet.Name = a
n = ActiveWorkbook.Name
Windows(a).Close
On Error Resume Next
ActiveWindow.ActivateNext
Next
End Sub

Camille


Merci ; si je comprends bien, cette macro récupère les feuilles
(toutes ?) des classeurs, autres que le classeur courant, pour les
insérer dans le classeur courant. Il faut donc d'abord ouvrir les CSV,
mais c'est un moindre mal.
Bonne soirée !