begin process at 2010 02 10 06:43:52
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Divers

 > 

General

 > 

VBA - Excel - copie d'un CSV vers un XLS


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

VBA - Excel - copie d'un CSV vers un XLS

vendredi 23 mai 2008 à 23:52:02 | VBA - Excel - copie d'un CSV vers un XLS

jax54000

Bonjour,

Je cherche à copier le contenu d'une feuille d'un fichier CSV, dans une feuille d'un fichierXLS.

Mon problème:
Lorsque j'ouvre un fichier CSV à la main (double clic), il apparaît comme un fichier xls (données réparties dans les différentes cellules) et je peux copier/coller son contenu sans problème.

Lorsque j'ouvre un fichier CSV via VBA (Set book = Workbooks.Open("C:\file.csv")) il m'ouvre le fichier mais il m'affiche le contenu en CSV (avec les ;) et non pas comme quand je le fais à la main.
Du coup lorsque j'essaie de copier coller (via VBA/ou à la main) ce contenu dans un fichier xls, le xls contient un contenu CSV (avec les ;) mais en aucun cas me met en forme les données CSV dans les différentes lignes/colonnes.

Y a-t-il d'autre moyen d'ouvrir un CSV de sorte à ce qu'il apparaîsse comme un fichier XLS ?

Merci de votre aide.

A+



samedi 24 mai 2008 à 00:17:18 | Re : VBA - Excel - copie d'un CSV vers un XLS

mortalino

Membre Club
salut,

c'est bizarre, normalement les csv s'ouvre avec Excel s'il est installé.
Au pire ouvre le comme un fichier texte, c'est pas compliqué

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
samedi 24 mai 2008 à 00:27:35 | Re : VBA - Excel - copie d'un CSV vers un XLS

jax54000


Merci mais j'ai mal du me faire comprendre.

Lorsque je l'ouvre via VBA, le fichier s'ouvre avec Excel simplement le contenu est un contenu CSV (un espèce de format txt avec les ;). Je souhaiterais que les données soient mises en page (dispersées sur les tableau) et non présentées en CSV brut.

J'espère que je me fais comprendre.

Merci. A+
samedi 24 mai 2008 à 00:59:05 | Re : VBA - Excel - copie d'un CSV vers un XLS

mortalino

Membre Club
Arf, tu as raison, bug bizarre !!
Pire que ça, avec l'enregistreur de macro, t'as juste la commande ..Open.., mais rien n'indique le choix du Txt / csv..
Pourtant, dans mes config régionales de mon pc, le séparateur de liste est bien le point-virgule..

Bref, j'ai tenté Workbooks.Open "C:\file.csv", , 4
Ca marche pas,

Mais j'ai remplacer dans le csv les point virgules par des virgules, et là ça s'ouvre nickel.

C'est pour le moment la seule alternative que je te propose, ouvrir ton fichier csv avec le bloc notes, CTRL H pour remplacer tous tes ; en , puis :
Workbooks.Open "C:\file.csv", , 2

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
samedi 24 mai 2008 à 01:00:03 | Re : VBA - Excel - copie d'un CSV vers un XLS

mortalino

Membre Club
.. rajoute une virgule avant 2 :
Workbooks.Open "C:\file.csv", , , 2

(en avais oublié une )
@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
samedi 24 mai 2008 à 08:16:02 | Re : VBA - Excel - copie d'un CSV vers un XLS

jax54000

Merci.

Mais cela m'étonne qu'il n'existe pas un moyen tout fait tout propre.

D'autres idées ou solutions ?

Je rappelle mon problème : copier (via VBA) une feuille d'un fichier CSV vers une feuille d'une fichier XLS.

Merci.


samedi 24 mai 2008 à 08:20:17 | Re : VBA - Excel - copie d'un CSV vers un XLS

mortalino

Membre Club
Ca m'intrigue aussi
Je vais essayer de trouver quelque chose pour que ça fonctionne, j''ai ma petite idée, bien que ce ne soit pas top
Ton fichier est-il toujours au même endroit et nommé pareil ?

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
samedi 24 mai 2008 à 08:22:52 | Re : VBA - Excel - copie d'un CSV vers un XLS

jax54000

Oui tu peux le considérer.


samedi 24 mai 2008 à 08:29:11 | Re : VBA - Excel - copie d'un CSV vers un XLS

mortalino

Membre Club
Ok,

Arf, j'ai planté Excel
Je persévère

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
samedi 24 mai 2008 à 08:36:53 | Re : VBA - Excel - copie d'un CSV vers un XLS

mortalino

Membre Club
Elle est pas mal celle là...

je tente de lancer le fichier avec ShellExecute, il me plante Excel..
Mais c'est bizarre, seul les fichier csv et xls plante. J'avais tenté ceci :


Option Explicit

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As LongByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Private Const sFile As String "Nouveau.csv"
Private Const SW_SHOWNORMAL = 1

Sub Test()
    Dim lRet As Long
    
MsgBox ThisWorkbook.Path

lRet = ShellExecute(0&, vbNullString, ThisWorkbook.Path & "\" & sFile, vbNullString, ThisWorkbook.Path, SW_SHOWNORMAL)

Workbooks(sFile).Activate
Cells.Copy

ThisWorkbook.Activate
Range("A1").PasteSpecial xlPasteAll
Workbooks(sFile).Close False

End Sub
~ Mortalino ~ Colorisation automatique

Peut être car cette appli est déjà instanciée, va savoir !
Je cherche autre chose

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA

1 2 3

Cette discussion est classée dans : fichier, vba, xls, contenu, csv


Répondre à ce message

Sujets en rapport avec ce message

VBA : COMMENTS CONSTRUIRE UN MESSAGE NOTES QUI INCLUE S LE CORPS DE CE DERNIER UN FICHIER .XLS (par ex.) MAIS !!! PAS EN ATTACHE. IL ME FAUT LE CONTENU DU FICHIER (.XLS) [ par cavi ] J'écris une application VBA qui doit envoyer par Mail un message (OK je sais faire) mais le corps de mon message doit être en partie le contenu d'un f importation d'un fichier CSV dans Outlook via VBA [ par spudman ] Je cherche à effectuer une importation automatique (à l'aide d'une fonction) d'un fichier CSV dans Outlook. Je ne souhaite pas utiliser l'assistant d' Travailler directement sur un fichier en *.csv [ par silver26 ] Bonjour,Je débute en VBA et je créer mon premier VBA sur excel.Je récupère ma base de données en *.csvPar reflexe je l'ai modifié en *.xls mais je vou [VBA-E] Comment convertir 3000 fichiers de .csv à .xls?? (Attention prise de tête!) [ par maximecdb ] Salut, Je suis en stage depuis 2 semaines, et l'un de mes premiers boulot est de concaténer plein de données a la suite et je piétine depuis deux jou [VBA] importer un fichier csv [ par outofbusiness ] bonjour,je voudrais importer un fichier au format csv sous forme de table.En fait, je crée au préalable un BdD access avec ça :Set mobj = CreateObject fermeture d'un fichier excel ouvert en VBA [ par inge68 ] Bonjour, Je lance une macro qui d'abord sauvegarde mon fichier xls puis l'enregistre sous un fichier ".iso" et puis réeouvre mon fichier xls sauvegard SaveAS CSV d'un fichier excel en VBS [ par Aegwym212 ] Bonjour, je me lance dans la création de fichier .vbs afin de me faciliter certaine tâche au boulot. Mon besoin : créer un script vbs qui demande à l' convertir fichier .csv en fichier.xls [ par julien0000 ] bonjour,quand j'essayes d'ouvrir un fichier.csv avec VBA, le fichier n'apparait pas sous forme de tableau mais le contenu des cases est séparé par des VBA - Souci extraction contenu fichier .txt [ par tora ] Salut a tousJ'ai un gros fichier .txt environ 500 000 caracteres.Contenu du type :""magrandmereestpartievisitersasoeurdanslejuracetaittreschouettemais Lancement exécutable Python depuis VBA [ par bichon3001 ] Bonjour, j'ai crée un programme Python sur un problème de tournées de livraisons. Mon programme python ouvre un fichier csv, récupère les données et l


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,749 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales