Sator1
Messages postés30Date d'inscriptionvendredi 27 août 2004StatutMembreDernière intervention18 août 2008
-
31 mai 2008 à 15:21
Sator1
Messages postés30Date d'inscriptionvendredi 27 août 2004StatutMembreDernière intervention18 août 2008
-
6 juin 2008 à 16:34
Bonjour, à tous! je cherche à enregistrer un fichier csv sous fichier exel, malgrès mes recherches je n'ai réussi qu'à avoir ligne par ligne, mais toutes les donnée d'une ligne sont séparé par un point virgule....
si quelqu'un sait comment faire se serait simpat merci d'avance
Sator1
Messages postés30Date d'inscriptionvendredi 27 août 2004StatutMembreDernière intervention18 août 2008 6 juin 2008 à 16:34
En fait j'ai fini par faire: une lecture normale du fichier... sans le passer en binaire, puis j'ai employé split, mais bon sachant le nombre de champs j'ai fais une boucle... puis enregistré sous excel, méthode ch... et longue... mais bon ça marche....
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 31 mai 2008 à 16:25
J'essaierais en ouvrant le fichier CSV dans une session Excel (visible ou non) et en la sauvegardant sous le nouveau format.
Tu pourrais avoir une bonne partie du code en utilisant l'enregistreur de macro d'Excel.
Ensuite, il te restera à l'adapter en VB6 avec des objets Excel...
MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
Sator1
Messages postés30Date d'inscriptionvendredi 27 août 2004StatutMembreDernière intervention18 août 2008 1 juin 2008 à 00:35
Pour Jack; Quand je dis: malgrès mes recherches.... c'est que j'ai cherché, donc quand je mets dans le champ destiné à cet effet "csv exel" je vous invite d'ailleur à faire cette recherche... et vous m'en dirai des nouvelles!!! sur codes, forum et tuto... donc l'on trouve plein de convertisseur exel => csv... des chose qui n'on rien à voir et des trucs qui marche pas... alors prendre la peine de répondre à un message, c'est très bien... mais faut-il encore qu'il soit constructif.
Quand aux autres je vous remercie, je regarde...
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 2 juin 2008 à 01:21
Salut Sator
En effet, les titres sont plus prometteurs que les codes.
Le seul convertisseur CSV vers XLS est trop spécifique.
J'ai regardé les 181 codes traitant de Excel et celui-ci peut t'expliquer les manipulations autour des fichiers excel au travers de VB6 : <cette source> La partie lecture d'un fichier CSV n'est que de la manipulation de chaine avec tous les pièges que cela comporte :
- Choix du caractère de séparation (tabulation, point virgule, virgule, format fixe ...)
- Traitement des chaines qui contiendraient elles mêmes ce caractères (enbcadrées par des " )
Ta question, trop générique et globale, dit
"je n'ai réussi qu'à avoir ligne par ligne" : Après décryptage, cela voudrait dire que tu as déjà une structure qui fonctionne pour convertir une ligne en fichier XLS.
--> Où est ton problème pour avancer ?
"mais toutes les donnée d'une ligne sont séparé par un point virgule" : Est-ce que c'est comme ça que ton fichier CSV est structuré ou bien quand tu arrives à lire une seule ligne, cela ne fonctionne que si c'est un point-virgule ?
Tu n'es pas clair et pas suffisemment précis.
Rappel : le site n'a pas vocation à fournir des codes tout fait, mais à aider les membres à résoudre des problèmes de programmation.
Suffit donc d'exposer clairement là où tu bloques, ce que tu as déjà fait ...
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Sator1
Messages postés30Date d'inscriptionvendredi 27 août 2004StatutMembreDernière intervention18 août 2008 2 juin 2008 à 01:44
Oui effectivement comme tu dis c'est un peut générique comme question, En fait je prends un fichier sur internet "http://www.fdjeux.com//generated/dyn/euromillions/euromillions.zip"
Je le dézip et je me retrouve avec un fichier csv, je veux le transphormer en fichier Xls mais quand je fais un ouvrir avec exel, je me retrouve avec une colonne A bien remplie, pleins de choses séparé par des ";" et une colonne B vide.... J'aimerai dans un premier temps les mettres dans un fichier Exel, pour les transvaser par la suite; Après divers manipulations (Statistiques) dans un fichier access, en fait si je veux le convertir en exel c'est pour pouvoir travailler case par case... plutôt que de lire toute la ligne, et créer des variables à l'envolé ....
Bref, je cherchais un truc du genre Save Fichier Cvs to Fichier xls , séparateur...
Je te remercie pour tes recherches c'est vraiment simpat... et il me sera malgrès tout utile...
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 3 juin 2008 à 22:47
Probablement parce que tu n'as pas créé de référence à MS Forms 2.0
J'avais oublié de le mentionner... désolé...
Ça prend cette référence pour avoir accès au DataObject
MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 4 juin 2008 à 01:57
Bon OK, je suis un peu perdu... Quand je vois le mot Excel, je me pense tout de suite sous l'environnement Office...
Si tu es sous VB6, tu pourrais passer par le ClipBoard, je pense. C'est un peu l'équivalent du DataObject. Sous Excel, le ClipBoard n'existe pas comme tel; il faut passer par le DataObject, quoiqu'il existe d'autres méthodes...
Une autre méthode serait de passer par les fonctions de base de lecture/écriture de fichiers.
Open "...csv" For Binary As #NumFile
strTemp = Space$(LOF(NumFile))
Get #NumFile, , strTemp
À ce moment-là strTemp contient le contenu du fichier.
Tu peux alors utiliser Replace pour changer le séparateur par un vbTab (si nécessaire), ouvrir une session Excel, ouvrir ou créer un classeur et coller le contenu de la variable en A1.
MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI