Pb de séparateur après la transmission de fichier .xls à fichier .csv pas un VB [Résolu]

Messages postés
6
Date d'inscription
mercredi 21 décembre 2005
Statut
Membre
Dernière intervention
6 janvier 2006
- - Dernière réponse : ScSami
Messages postés
1488
Date d'inscription
mercredi 5 février 2003
Statut
Membre
Dernière intervention
3 décembre 2007
- 6 janv. 2006 à 21:52
Salut à tous,

Voici un VB,
'------------------------------------
Sub Macro1()
'
Application.DisplayAlerts = False
ChDir "C:\Fermat\recu"
Workbooks.Open FileName:="C:\Fermat\recu\loandepo_man.xls"
ChDir "C:\Fermat\dat"
ActiveWorkbook.SaveAs FileName:="C:\Fermat\dat\loandepo_man.csv", FileFormat _
:=xlCSV, CreateBackup:=False
ActiveWorkbook.SaveAs FileName:="C:\Fermat\dat\loandepo_man.csv", FileFormat _
:=xlCSV, CreateBackup:=False
ActiveWindow.Close
End Sub

c'est pour changer la format .xls à .csv.
mais dans le fichier "loandepo_man.csv", le séparateur est "," au lieu de ";".

Pourriez-vous m'aider pour trouver la solution.
(note : quand je le fais manuellement, ça marche bien avec le ";")

Merci d'avance
Afficher la suite 

1 réponse

Meilleure réponse
Messages postés
1488
Date d'inscription
mercredi 5 février 2003
Statut
Membre
Dernière intervention
3 décembre 2007
17
3
Merci
Une question similaire a été posée ici il y a quelque
jours... Si tu recherches tu trouveras sans doute une meilleur solution
que celle que je vais te proposer car je crois savoir qu'il existe une
méthode (fonction) permettant de choisir le caractère des CSV...



Sinon, la meilleur solution est d'enregistrer ton fichier en CSV avec Excel puis de faire un truc du genre :

varFichier =
"C:\Fermat\dat\loandepo_man.csv"

ActiveWorkbook.SaveAs varFichier, xlCSV
Dim varTemp As String 'Très important pour que Get fonctionne
Open varFichier For Binary As #1 'Ouvrir le fichier en mode Binary
'Délimite la variable à la taille du nombre d'octets (caractères ASCII) du fichier)
varTemp = Space(LOF(1))
'Récupère l'intégralité des octets du fichier dans la variable précédemment dimensionnée pour.
Get #1, 1, varTemp
Close #1 'Fermer le fichier
varTemp = Replace(varTemp, ",", ";") 'Remplace les "," par des ";"

Restera plus qu'a enregistrer varTemp dans un fichier à l'extension CSV et le tour sera joué!

Celà répond-t-il à ta question ? As-tu besoin de plus d'explications ???


Enjoy

<hr size="2" width="100%">
( Si une réponse vous convient, cliquez sur le bouton "Réponse acceptée". )

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 142 internautes nous ont dit merci ce mois-ci