Bonjour à tous
J'importe des fichiers texte au format fixe , dans une table Access avec des nombres avec le séparateur décimal . (point)
Sur mon PC de bureau, tout est verrouillé, je ne peux pas changer les paramètres régionaux..
Du coup, dans ma table je me retrouve avec des nombre avec séparateur décimal virgule..
Je suppose que c'est Access qui convertit, en fonction desdits paramètres régionaux. Ce n'est pas un problème en soit, mais, car il y a un mais :
Après traitement, je réexporte des tables, en fichiers texte au format fixe, contenant les même nombres, et au passage je faisais un format(MonChamp, "0.000") pour avoir un séparateur point.
Ca marchait nickel sur mon ancienne base Access. (elle fonctionnait sur un serveur qui avait sans doute l'option séparateur décimal point.)
Précision ; le logiciel "professionnel" dans lequel je réimporte ces fichiers ne connait que le séparateur décimal . (point). Aucune option pour modifier quoi que ce soit.
- J'ai bien essayé un "replace", mais ça ne marche que sur les champs texte. Soit, je convertis par un Str() le champ numérique et le replace fonctionne, mais dans mon fichier de sortie, au format fixe, les champs numériques désormais texte, sont désalignés !
- J'ai essayé un format de champs spécifique dans la table, mais ça donne n'importe quoi exemple 47,25 ne donne pas 47.25 , mais 0.00145 (fictif)
- La seule solution pour l'instant que j'ai trouvée, est de remplacer la virgule, par le point, dans Notepad, par exemple... C'est bof bof !
Auriez-vous une solution élégante pour faire ça en VBA, sans avoir à changer quoique ce soit dans les paramètres régionaux ?
Merci pour votre aide
Cordialement
Didier
Partager