Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Shop Recherche
971 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  VBA excel - Importation de .csv dans une feuille unique xls

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

VBA excel - Importation de .csv dans une feuille unique xls

n°2222345
mutaras
Posté le 14-03-2014 à 17:19:01  profilanswer
 

Bonjour,
J'ai peu d'expérience de programmation et celle que j'ai date.... J'ai besoin d'aide...
J'ai:
Un répertoire parent qui peut changer dans le future
Donc je veux positionner mon fichier source n'importe où sur mon disque dure, et il s'adaptera au dossier parent qui contiendra les données
Dans ce répertoire parent, j'ai N sous répertoire (pour chaque mois d'années des donnée que j'ai à importer...
Dans chacun des répertoire, j'ai des fichier .csv d'une seule feuille, avec ligne 1 toujours pareil, et les données à importé vont de la ligne 2 à infini... (un fichier par jour)
Dans le répertoire parent, à coté des sous répertoires,
J'ai créer un fichier "procédure.xls", où seront les instructions pour futures références, et dans lequel la macro sera...
Je veux créer un fichier destination nommé "compilation {date et heure}.xls", qui sera lui aussi dans le répertoire parent...
à date j'ai quelque chose qui ressemble à ça..
 
' Création du fichier compilé
Workbooks.Add
Range("A1" ).Select
ActiveCell.FormulaR1C1 = "Date de saisie"
Range("B1" ).Select
ActiveCell.FormulaR1C1 = "Date de contribution"
Range("C1" ).Select
ActiveCell.FormulaR1C1 = "Date de réception"
Range("D1" ).Select
ActiveCell.FormulaR1C1 = "No contribution"
 
Ainsi de suite jusqu'à ce que la ligne 1 (entête) du fichier destination.xls soit créé
Puis je sauvegarde le fichier avec cette commande:
 
ActiveWorkbook.SaveAs "Compilation " & Format(Now, "dd-MM-YY h-mm-ss" ) & ".xls"
 
Ce qui sauvegarde le nom de fichier correctement, mais ça le met dans le répertoire actif....
1- Comment je peux faire pour le mettre dans le répertoire parent?
Est ce que je suis obligé de saisir le chemin d'accès du fichier procédure.xls au début, et la garder dans une variable? Ou est ce qu'il y a de quoi de plus simple... ?
J'ai besoin d'aide par la suite pour remplir le fichier...
Je pensais faire la macro en saisissant toute les cellules du tableau, et en désélectionnant la ligne 1, mais ça ne fonctionne pas...
Bon..
2.1- J'ai besoin d'un while qui ouvre les sous répertoires un après l'autre....
à la fin de ce while, l'importation se termine
2.2 - à l'intérieur de ce while, un autre while qui lui ouvre tout les fichier csv un après l'autre
2.3 - Et à l'intérieur, un troisième while qui importe toutes les lignes une à une à partir de la ligne 2 du csv courant, vers la prochaine ligne vide du "compilation {date, heure} créé précédemment
 
Après j'ai de la mise en page à faire dans le fichier destination, mais ça je sais faire...

mood
Publicité
Posté le 14-03-2014 à 17:19:01  profilanswer
 

n°2222401
kiki29
Posté le 15-03-2014 à 14:38:46  profilanswer
 

Salut, voir  http://cjoint.com/?3CpoIx2K8g7 cela se rapproche de ta demande à part que c'est pour la fusion de fichiers XLS ou TXT texte tabulé pas CSV , donc à toi de l'adapter à ton contexte


Message édité par kiki29 le 24-04-2014 à 13:04:46

---------------
http://gadaud.gerard.free.fr/publi [...] index.html
n°2222402
mutaras
Posté le 15-03-2014 à 16:09:20  profilanswer
 

Merci, :), semble bien fonctionner pour les .xls et les .txt...  
 
Cela dit, je ne suis pas capable d'ouvrir le code, quand je vais voir dans les macros, il n'y a rien...  
, et ça ne fonctionne pas pour les .csv...

n°2222403
mutaras
Posté le 15-03-2014 à 16:10:39  profilanswer
 

De plus, il n'ouvre pas les sous répertoires... :( et c'est pas mal cette partie là que je ne sais pas comment faire..  

n°2222405
kiki29
Posté le 15-03-2014 à 17:11:26  profilanswer
 

Salut, il faut cocher "Recherche Récursive à partir du dossier Racine ?"
une partie du code est dans le module mLecture
 
bis repetita placent : c'est pour la fusion de fichiers XLS ou TXT texte tabulé pas CSV , donc à toi de l'adapter à ton contexte


Message édité par kiki29 le 15-03-2014 à 17:19:24

---------------
http://gadaud.gerard.free.fr/publi [...] index.html
n°2222427
kiki29
Posté le 16-03-2014 à 16:18:24  profilanswer
 

re, le fichier pour fusion XLS et CSV http://cjoint.com/?DCwnzZuLGAj
Tu verras que les modifs à apporter au fichier initial étaient minimes


Message édité par kiki29 le 22-03-2014 à 13:27:25

---------------
http://gadaud.gerard.free.fr/publi [...] index.html

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  VBA excel - Importation de .csv dans une feuille unique xls

 

Sujets relatifs
Module/ UserForm/ Excel VBAMacro pour faire un calendrier excel
[VBA] Donner une valeur numérique à une chaine de caractèreSuppression de RDV dans Outlook via macro Excel
Remplir plusieurs feuilles ExcelProblème Importation base de donnée
Problème de tableau excelExo VBA
Macro - Fonctions VBA 
Plus de sujets relatifs à : VBA excel - Importation de .csv dans une feuille unique xls


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR