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
Dernière intervention
6 janvier 2006
- - Dernière réponse : ScSami
Messages postés
1490
Date d'inscription
mercredi 5 février 2003
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
1490
Date d'inscription
mercredi 5 février 2003
Dernière intervention
3 décembre 2007
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 a aidé 98 internautes ce mois-ci

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.