Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

VBA - Enregistrer en CSV montants format monétaire français ( et pas US !)

1 réponse
Avatar
Vital
bonjour,

Dans le fichier généré par ma macro, les montants sans centime
sont correctement générés mais dès que j'ai des centimes, VBA utilise le
format américain des numériques :
( par exemple 512.58 alors que j'attends 512,58 ).

Pourtant quand j'enregistre la feuille manuellement en format CSV, excel me
donne bien 512,58 !

voici la fin de ma macro :

chemin = "C:\Documents and Settings\Administrateur\Bureau\"
ActiveWorkbook.SaveAs _
Filename:=chemin & "Budget.txt", _
FileFormat:=xlCSV, _
CreateBackup:=False

je pense qu'il doit bien y avoir le moyen de lui dire
de générer le fichier avec le format monétaire français mais comment ?

merci de ton aide

1 réponse

Avatar
Frédéric Sigonneau
Bonjour,

Essaye ce genre de macro qui te permet de contrôler précisément ce que tu fais :

'===================== Sub test()
SaveAsCSV "d:essai.csv"
End Sub

Sub SaveAsCSV(FileName$)
'steve, mpfe
'sauvegarde la feuille active en fichier texte délimité selon
'séparateur au choix (ici ";")
Dim Range As Object, Line As Object, Cell As Object
Dim StrTemp As String
Dim Separateur As String

Separateur = ";"
Set Range = ActiveSheet.UsedRange
Open FileName For Output As #1
For Each Line In Range.Rows
StrTemp = ""
For Each Cell In Line.Cells
StrTemp = StrTemp & CStr(Cell.Text) & Separateur
Next
Print #1, Left(StrTemp, Len(StrTemp) - 1)
Next
Close
End Sub
'=====================
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !

bonjour,

Dans le fichier généré par ma macro, les montants sans centime
sont correctement générés mais dès que j'ai des centimes, VBA utilise le
format américain des numériques :
( par exemple 512.58 alors que j'attends 512,58 ).

Pourtant quand j'enregistre la feuille manuellement en format CSV, excel me
donne bien 512,58 !

voici la fin de ma macro :

chemin = "C:Documents and SettingsAdministrateurBureau"
ActiveWorkbook.SaveAs _
Filename:=chemin & "Budget.txt", _
FileFormat:=xlCSV, _
CreateBackup:úlse

je pense qu'il doit bien y avoir le moyen de lui dire
de générer le fichier avec le format monétaire français mais comment ?

merci de ton aide