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

Résolu
victorkexu Messages postés 6 Date d'inscription mercredi 21 décembre 2005 Statut Membre Dernière intervention 6 janvier 2006 - 6 janv. 2006 à 09:48
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

1 réponse

ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
6 janv. 2006 à 21:52
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". )
3
Rejoignez-nous