Signaler

Import CSV dans Excel [Résolu]

Posez votre question Shrek007 - Dernière réponse le 25 nov. 2016 à 22:40
Bonjour à tous,

J'ai besoin d'importer les données CSV (qui sont toutes dans un même répertoire) et de les mettre dans un unique classeur Excel (j'utilise Excel 2013).
Les fichiers CSV sont tous nommés par leur date (ex : "20161124")
et j'ai besoin de mettre tous les CSV dans la même feuille, les uns à la suite des autres, en ajoutant une colonne date qui reprend le nom du CSV importés.
Est-ce quelqu'un aurait des lignes de codes ou LE code pour m'aider ?
Merci,
Afficher la suite 
Utile
+0
moins plus
Salut,

Tu pourrais concaténer les fichiers csv en dehors d'excel, par exemple avec un .cmd qui contiendrait :
del new.txt new.csv
for %%f in (*.csv) do (for /f "delims=" %%l in (%%f) do echo %%~nf;%%l >>new.txt)
ren new.txt new.csv
(les lignes affichées en 2 et 3 sont une seule et même ligne)

cdlt
Shrek007- 24 nov. 2016 à 20:34
comment spécifier le répertoire où se trouve les fichiers csv ?
Répondre
Ajouter un commentaire
Utile
+0
moins plus
Merci mais comment exécuter ces lignes (je ne me souviens plus de comment lancer le terminal....)
jee pee 20428Messages postés mercredi 2 mai 2007Date d'inscription ModérateurStatut 7 décembre 2016 Dernière intervention - 24 nov. 2016 à 21:56
tu fais avec le bloc-notes un fichier qui s'appelle csv.cmd, tu le places dans le répertoire où il y a les csv et dans l'explorateur tu lances le csv.cmd
Répondre
Shrek007- 24 nov. 2016 à 22:19
j'ai créé le fichier à partir du bloc note que j'ai renommé "csv.cmd"
j'ai ensuite exécuté avec un clic droit... ca a tourné.. et puis plus rien... le fichier texte n'a (apparemment) pas été créé... d'ou peut venir le bug ?
Répondre
Ajouter un commentaire
Utile
+0
moins plus
tu devrais en fin du fichier .cmd une ligne avec la commande
 pause


Et alors tu auras la trace de ce qui se passe comme :



Shrek007- 24 nov. 2016 à 22:41
je viens d'ajouter une ligne avec le code pause, mais toujours rien...
Répondre
Ajouter un commentaire
Utile
+0
moins plus
pour lancer un .cmd, il ne faut normalement pas faire clic-droit/executer, mais juste double cliquer dessus. Avec le clic-droit/executer il ne se lance pas dans le répertoire courant.

ou alors tu as un soucis avec les extensions de noms de fichier. Sont-elles affichées pour tous tes fichiers ? Tes .csv c'est affiché dans l'explorateur 20161123.csv ou 20161123 ?

(là je vais me déconnecter)
Shrek007- 25 nov. 2016 à 12:29
J'ai essayé avec le code suivant : copy *.csv fichiercomplet.csv que j'ai ensuite renommé en fichier .bat
Double clique dessus et ça a marché nickel
merci pour ton aide
Répondre
jee pee 20428Messages postés mercredi 2 mai 2007Date d'inscription ModérateurStatut 7 décembre 2016 Dernière intervention - 25 nov. 2016 à 22:40
super ! merci pour le retour

tu peux aussi voir la solution de cedri0715 là dans excel
Répondre
Ajouter un commentaire
Utile
+0
moins plus
bonjour
pour ma par j'utilise ce code
Sub Tst()
Dim Fichier As Variant
ChDir ThisWorkbook.Path
Fichier = Application.GetOpenFilename("Text Files (*.csv), *.csv")
If Fichier <> False Then
Lire Fichier
End If
End Sub

Sub Lire(ByVal NomFichier As String)

Dim Chaine As String
Dim Ar() As String
Dim i As Long
Dim iRow As Long, iCol As Long
Dim NumFichier As Integer
Dim Separateur As String * 1

' Séparateur Point Virgule
Separateur = ";"

Cells.Clear
Application.ScreenUpdating = False
NumFichier = FreeFile
iRow = 1

Open NomFichier For Input As #NumFichier
Do While Not EOF(NumFichier)
iCol = 1
Line Input #NumFichier, Chaine
Ar = Split(Chaine, Separateur)
For i = LBound(Ar) To UBound(Ar)
Ar(i) = Replace(Ar(i), "M-", "")
Cells(iRow, iCol) = Ar(i)
iCol = iCol + 1
Next

Select Case Cells(iRow, 1)
Case Is = Cells(iRow, 2)

End Select

iRow = iRow + 1
Loop
Close #NumFichier

Application.ScreenUpdating = True
End Sub


cela marche très bien
Ajouter un commentaire

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !