Copy cvs > xls sans les ouvrir puis KILL cvs comment fait-ton?

cs_Sator Messages postés 351 Date d'inscription samedi 7 février 2004 Statut Membre Dernière intervention 6 octobre 2010 - 10 avril 2008 à 15:56
cs_Sator Messages postés 351 Date d'inscription samedi 7 février 2004 Statut Membre Dernière intervention 6 octobre 2010 - 11 avril 2008 à 18:40
en fait ma question est la suivante, j'ai un fichier csv j'aimerai l'enregistrer en tant que fichier xls sans avoir à l'ouvrir, et est-ce que c'est un moyen fiable, je ne risque pas de perte de données? et est-ce que quelqu'un sait comment faire, j'ai cherché mais il ni a que des soluces qui ouvre... qui transfère les données.... bref
merci pour votre aide

:)Sator :)

ps: si il ni avait pas de faute d'orthographe dans ce texte, il y a fort à parier que ce texte ne serait pas de moi...

13 réponses

pile_poil Messages postés 682 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 4 août 2012 6
10 avril 2008 à 16:04
bonjour
sans ouvrir excel à mon avis c'est impossible ! un fichier csv n'est qu'un fichier texte !
0
cs_Sator Messages postés 351 Date d'inscription samedi 7 février 2004 Statut Membre Dernière intervention 6 octobre 2010
10 avril 2008 à 16:12
pourtant quand je double click sur mon ficier csv j'ai le fichier qui s'ouvre avec exel malgrès le fait que c'est un fichier texte, ensuite je fait enregistrer sous... et là il me l'enregistre sous exel.... bon tu me diras qu'il faut que je l'ouvre en premier....
mais du genre copy ....cvs to .... xls???
un truc dans le genre....

:)Sator :)

ps: si il ni avait pas de faute d'orthographe dans ce texte, il y a fort à parier que ce texte ne serait pas de moi...
0
pile_poil Messages postés 682 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 4 août 2012 6
10 avril 2008 à 16:19
en fait c'est excel qui extrait les données du fichier texte  il a en fait une "macro" dédiée à cet action !
tu peux ouvrir un csv avec le bloc note mais pas un fichier excel  avec ce meme bloc note
d'ailleurs excel ne sait ouvrir que les fichiers csv avec un balisage précis des données !
avec un autre fichier texte il ne sait plus rien faire !
0
Cramfr Messages postés 160 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 8 juillet 2008
10 avril 2008 à 16:20
Renome juste le fichier en .xls et le tour est jouer logiquement le fichier csv doit être formater comme un fichier excel.
@+

Cramsoturf le VBien en quête de nouveau programme
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Sator Messages postés 351 Date d'inscription samedi 7 février 2004 Statut Membre Dernière intervention 6 octobre 2010
10 avril 2008 à 16:28
Salut Cramfr et bien il me garde les ; en changant l'extention, symplement, je pense que là il ne fait pas appel à cette fameuse macro...

:)Sator :)

ps: si il ni avait pas de faute d'orthographe dans ce texte, il y a fort à parier que ce texte ne serait pas de moi...
0
Cramfr Messages postés 160 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 8 juillet 2008
10 avril 2008 à 16:47
Il est possible par programmation d'ouvrir excel  en fond de tache ce qui règlerait le problème.
set oXls = createObjet("Excel.Application")
oXls.Visible = false
oXls.Workbooks.Open myFileCSV
Je ne sais pas si celà peut t'aider.

Cramsoturf le VBien en quête de nouveau programme
0
cs_Sator Messages postés 351 Date d'inscription samedi 7 février 2004 Statut Membre Dernière intervention 6 octobre 2010
10 avril 2008 à 17:30
je vais essayé, et je l'enregistre comment?

:)Sator :)

ps: si il ni avait pas de faute d'orthographe dans ce texte, il y a fort à parier que ce texte ne serait pas de moi...
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
11 avril 2008 à 10:55
Salut,

J'ai une solution pour toi, et je l'ai utiliser avec un grand succès, j'utilise le format Open de excel : SLK

Que tu trouvera facilement sur n'importe quel moteur de recherche, c'est un format pouvant même contenir des formules... (voir aussi : http://en.wikipedia.org/wiki/SYmbolic_LinK_%28SYLK%29)

exemple :

ID;PWXL;N;E    Début du codage
C;Y1;X1;K"Libellé"    les guillemets seront codés avec chr(34)
C;Y1;X2;Knombre
... etc
E    Fin du codage

Chris...
Web : Firstruner
0
Cramfr Messages postés 160 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 8 juillet 2008
11 avril 2008 à 11:52
oXls.ActiveWorkbook.save
ou
oXls.ActiveWorkbook.saveAs MonrépertoireMonfichier
voilà
Cramsoturf le VBien en quête de nouveau programme
@+
0
Cramfr Messages postés 160 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 8 juillet 2008
11 avril 2008 à 11:53
Au fait c'est  createObject("Excel.Application") Et non createObjet("Excel.Application")
;-)

Cramsoturf le VBien en quête de nouveau programme
0
cs_Sator Messages postés 351 Date d'inscription samedi 7 février 2004 Statut Membre Dernière intervention 6 octobre 2010
11 avril 2008 à 15:16
donc si j'ai bien compris ça donne ça!

Dim oXls  As Object
Dim Fichier1, Fichier2 As String


Fichier1 = App.Path & "\zip\euromillions.csv"
Fichier2 = App.Path & "\zip\euromillions.xls"

Set oXls = CreateObject("Excel.Application")
oXls.Workbooks.Open Fichier1
oXls.Visible = False
oXls.ActiveWorkbook.saveAs Fichier2


oXls.quit
'
ben voilà, j'ai bien compris ben ça marche pas il me garde les ";"...

c'est sympat.... de prendre du temps pour moi..

:)Sator :)

ps: si il ni avait pas de faute d'orthographe dans ce texte, il y a fort à parier que ce texte ne serait pas de moi...
0
Cramfr Messages postés 160 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 8 juillet 2008
11 avril 2008 à 17:57
Ok
Essaie çà :
Dim oXls  As Object
Dim Fichier1, Fichier2 As String
Fichier1 = App.Path & "\zip\euromillions.csv"
Fichier2 = App.Path & "\zip\euromillions.xls"

Set oXls = CreateObject("Excel.Application")
oXls.Visible = False
oXls.Workbooks.Open Fichier2

    With oXls.ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;" & Fichier1 & _
        , Destination:=Range("A1"))
        .Name = "PRODUIT"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 932
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = False
        .TextFileSemicolonDelimiter = True
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
oXls.ActiveWorkbook.saveAs Fichier1
oXls.quit
set oXls = Nothing
0
cs_Sator Messages postés 351 Date d'inscription samedi 7 février 2004 Statut Membre Dernière intervention 6 octobre 2010
11 avril 2008 à 18:40
Désolé mais je bloque sur la ligne avec with....

:)Sator :)

ps: si il ni avait pas de faute d'orthographe dans ce texte, il y a fort à parier que ce texte ne serait pas de moi...
0