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

victorkexu 6 Messages postés mercredi 21 décembre 2005Date d'inscription 6 janvier 2006 Dernière intervention - 6 janv. 2006 à 09:48 - Dernière réponse : ScSami 1490 Messages postés mercredi 5 février 2003Date d'inscription 3 décembre 2007 Dernière intervention
- 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

ScSami 1490 Messages postés mercredi 5 février 2003Date d'inscription 3 décembre 2007 Dernière intervention - 6 janv. 2006 à 21:52
+3
Utile
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". )
Cette réponse vous a-t-elle aidé ?  

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.