Extraire une feuille pour enregistrement CSV

Mulder

XLDnaute Junior
Bien le bonsoir au forum et à ceux qui me liront.

Mon problème dans les grandes lignes : j'ai créé un vaste fichier Excel qui centralise des données sur une seule et unique feuille appelée DONNEES, laquelle doit être sauvegardée au format CSV pour être importée dans un autre logiciel...

Seulement voilà, le format de sortie ne me va pas, j'obtiens un CSV que je ne peux même pas réexploiter derrière sous Excel (toutes les colonnes sont condensées en une seule). Si je suis pas clair, suffit de tester la macro en PJ...

Je précise que j'ai parcouru de nombreux topics du forums, en appliquant divers codes apportés à des question précédentes sans résultat...

J'ai apuré le fichier au max, actuellement j'en suis à ce niveau :

Code:
Sub Sauvegarde()

    
    
DOSSIER = "ECRITURES"
ActiveSheet.SaveAs Filename:=DOSSIER, FileFormat:=xlCSV

Application.Dialogs(xlDialogSaveAs).Show DOSSIER
FICHIER = "Fichier d'origine"
ActiveWorkbook.SaveAs Filename:=FICHIER, FileFormat:=xlNormal

Feuil4.Name = "ECRITURES" '

Message = "Sauvegarde terminée"
Style = vbOKOnly
Title = "FINI"
MsgBox Message, Style, Title

'Cells.Select
'Selection.Delete Shift:=xlUp
Range("A1").Select


End Sub

Je pense que mon problème vient essentiellement du format CSV utilisé.
A mon avis, xlCSV, c'est pas bon pour obtenir un CSV avec séparateur points virgules.
Je suis également ouvert à toute critique quant à l'amélioration de ce code...

D'avance merci pour votre aide !!!
 

Pièces jointes

  • Fichier d'origine.xls
    21.5 KB · Affichages: 87
  • Fichier d'origine.xls
    21.5 KB · Affichages: 88
  • Fichier d'origine.xls
    21.5 KB · Affichages: 88

pedrag31

XLDnaute Occasionnel
Re : Extraire une feuille pour enregistrement CSV

Bonjour Mulder, bonjour le forum,

J'ai testé ta macro et elle me semble fonctionner parfaitement.
J'ai Excel 2003 sous XP SP2. J'obtiens bien ton fichier CSV en sortie avec des colonnes séparées. Voir fichiers joints.

Je ne vois pas d'où peut venir le problème... Peut être des options d'exportations d'Excel? Je ne sais dire... La vérité est ailleurs.:cool:

Qu'en pense Scully? ;)

Edit: Est ce que ton objectif est d'obtenir un CSV avec points virgules ou colonnes séparées?

Bonne journée,:)
 

Pièces jointes

  • Fichier d'origine.xls
    21.5 KB · Affichages: 96
  • Fichier d'origine.xls
    21.5 KB · Affichages: 105
  • Fichier d'origine.xls
    21.5 KB · Affichages: 94
  • ECRITURES.zip
    172 bytes · Affichages: 43
Dernière édition:

grodep

XLDnaute Occasionnel
Re : Extraire une feuille pour enregistrement CSV

Bonjour mulder & pedrag, avec excel 2007, je n'obtiens pas non plus le bon résultat : fichier csv avec toutes les infos dans une seule colonne.
Je cherche les options susceptibles de modifier le résultat...
 

Mulder

XLDnaute Junior
Re : Extraire une feuille pour enregistrement CSV

Bonsoir Pedrag, Grodep et le forum,
Merci de vous pencher sur mon problème, navré d'avoir pu vous répondre plus tôt.

Là où je m'interroge dans un premier temps c'est que j'ai 2003 sous XP, et contrairement à Pedrag qui est sous 2003, j'obtiens un résultat en format un colonne, comme Grodep sous 2007. Effectivement un problème de paramètre à l'export mais je vois pas lequel.

Réponse à la question de Pedrag : je pense qu'il me faut un format de sortie en colonnes séparées. Je dis "je pense", lorsque j'importe le CSV dans mon logiciel tiers, ça marche pas en format "une seule colonne" alors que ça marche parfaitement en colonnes séparées.
Je ne sais pas quelle différence il fait sur ces deux fichiers, c'est bizarre.

Actuellement, ça fonctionne si à la main, je fait une copie de l'onglet de DONNEES dans un nouveau classeur que j'enregistre en CSV Spérateur points vigules, mais c'est cette manip' que je cherchais à automatiser, vu que le fichier sera utilisé par des personnes ne maîtrisant pas forcément bien Excel...
 

Mulder

XLDnaute Junior
Re : Extraire une feuille pour enregistrement CSV

Je me permets de upper mon fil de discussion, ancien certes, mais pour lequel je n'ai toujours pas de réponses.

Pour rappel, ma macro fonctionne quasi-parfaitement, sauf que le format CSV que j'obtiens est à séparateur virgules (donc une fois ouvert sous Excel, donne une seule colonne et les données sont séparées par des virgules) et non séparateur point-virgules comme je le voudrai.

D'avance merci !!!
 

Mulder

XLDnaute Junior
Re : Extraire une feuille pour enregistrement CSV

Eh bien figure-toi que non !!
Avant de poster et reactualiser mon problème, j'ai cherché sur le Net et j'ai effectivement trouvé cette solution. Mais bizarrement ça marche pas, et je comprends pas pourquoi...

Edit : test réalisé sur mon fichier final (le gros) et sur celui joint dans le premier topic, même problème, même avec Local:=True.
 

Gael

XLDnaute Barbatruc
Re : Extraire une feuille pour enregistrement CSV

Bonsoir à tous,

J'ai comme vous obtenu un séparateur "," au lieu de ";" mais après quelques tests de la procédure (un paquet même :D) j'ai réussi à obtenir un ";".

En modifiant de la façon suivante:

Code:
Active[COLOR=red]Workbook[/COLOR].SaveAs Filename:=DOSSIER, FileFormat:=xlCSV, [COLOR=red]local:=True[/COLOR]

et en supprimant l'instruction :
Code:
Application.Dialogs(xlDialogSaveAs).Show DOSSIER

qui refait une sauvegarde du même fichier.

Qu'obtenez-vous avec ces modifs?

@+

Gael
 

tototiti2008

XLDnaute Barbatruc
Re : Extraire une feuille pour enregistrement CSV

Bonjour Mulder, Bonjour Gael,

Peut-être :

Code:
[COLOR=black]ActiveWorkbook.SaveAs Filename:=DOSSIER, FileFormat:=xlCSV[COLOR=red]Windows[/COLOR], local:=True[/COLOR]

encore faut-il des paramètres régionaux qui mettent des ";" dans les CSV, c'est à dire genre français (je ne connais pas la liste)
 

Mulder

XLDnaute Junior
Re : Extraire une feuille pour enregistrement CSV

Bon, ben c'est du tout bon !!! Ca marche, ça fait juste 3 ou 4 mois que je me fais ch*** à chercher (et comme je suis venu sur le forum par intermittence seulement, dixit les dates de mes posts...).

Bref grand merci à grodep, pedrag, tototiti et gael pour leur participation et leur aide précieuse !!!
 

Discussions similaires

Statistiques des forums

Discussions
312 160
Messages
2 085 841
Membres
103 002
dernier inscrit
LERUS