Bonjour
je converti mon fichier xls en csv dans une application Windev avec le code ci-dessous
le format est bon mais les séparateurs sont des points virgules comment les transformer en virgule ????????

xl est un objet OLE dynamique = ObjetActif("Excel.Application")
fichierXLS est une chaîne
fichierXLS = "c:\MonFichier.xls "
SI xl=Null ALORS xl=allouer un objet OLE "Excel.Application"
xl>>Visible=Faux // Excel n'apparait pas à l'écran
xl>>displayAlerts=False
xl>>WorkBooks>>Open(fichierXLS )
fichierXLS=ExtraitChaîne((fichierXLS),1,".xls")+ ".xlcsv"
xl>>DisplayAlerts = True
xl>>ActiveWorkBook>>saveAs( fichierXLS,6)
xl>>ActiveWorkBook>>Close(Faux)
xl>>Quit()
libérer xl
j'ai cherché mais Je n'ai pas trouvé de réponse a mon problème un petit coup de main me serais bien utile
merci
Modifié par Bujkilla05 (15 Jan 2020 - 00:23)
C'est sur que c'est logique d'avoir des ; pour un truc qui s'appelle comma-separated values Smiley cligne Il arrive qu'on ait besoin d'avoir un séparateur différent pour faire des imports par exemple.

@Bujkilla05, je ne connait pas windev mais un csv c'est un simple fichier texte qui ressemble à ça :
Robert;Dupont;rue du Verger, 12;…
"Michel";"Durand";" av. de la Ferme, 89 ";…

donc c'est assez simple de remplacer tes ; ensuite (attention tu peux aussi avoir des points virgules dans tes valeurs entre guillemets)

PS : tu trouveras peu de gens voire personne à faire du windev ici Smiley cligne
@Jean-Pierre-Bruneau comma ça veut dire virgule et c'est valable de l'utiliser comme séparateur. C'est tout a fait faisable de modifier un csv à la main ou via un script, ce ne sont pas des fichiers compressés comme les images. Si tu ne veut pas apporter ton aide autrement que par des affirmations hasardeuses, abstiens-toi, c'est beaucoup mieux pour tout le monde. Smiley cligne
Modifié par bacasable (15 Jan 2020 - 10:18)
Merci bacasable pour tes commentaires je vais chercher sur un autre forum pour trouver un script qui transformeras les points virgules en virgules
merci
Dans la version originelle (US) du csv ce sont bien des virgules
Mais les anglo-saxons ne respectent pas le standard international de présentation des nombres ils écrivent 1.25 alors que le standard est 1,25
Ceux qui ont fait la version française d’Excel ont décidé de garder la notation des nombres à la française et ont remplacé les , de la version originelle par des ;
Par exemple une formule Excel : =MAX(1,5;2,7;3,8) au lieu de =MAX(1.5,2.7;3.8)
Et de même dans csv les , sont devenues des ;
Mais la plupart des outils qui lisent du csv ne tiennent compte que de la version US
C’est à toi de faire une bidouille sur le fichier, par exemple si on n’est sûr qu’il n’y a pas de nombre décimal dans le fichier ni d’adresse normalisée à la française ("27, rue Pierre Dupont" il suffit de remplacer les ; par des , mais la plupart du temps c’est plus compliqué...
Une autre solution est d’utiliser la version US d’Excel
Désolé
Une voie de recherche :
Installer LibreOffice (gratuit)
Lire le ficher csv
Utiliser les paramètres d’export csv de LibreOffice pour réexporter au format csv avec virgule

Je n’ai pas testé
merci pour vos réponses
j'ai rajouté le code ci-dessous a la fin de mon code
cela fonctionne correctement

sChaineTemp est une chaîne = fChargeTexte("C:\fichier.csv")
sChaineTemp = Remplace(sChaineTemp,ChaineARemplacer,ChampDeRemplacement)
fSauveTexte("C:\fichier.csv",sChaineTemp)