Export d'une feuille en csv et conversion des "," en "."

Bonjour,

encore un casse tête…

j’ai écrit une macro qui me permet d’exporter les données d’une feuille 'Saisie N" en .csv (jusque là pas de souci)
le fichier csv à pour objectif d’être intégrer dans un autre classeur en copiant les valeurs du csv. ; pas de souci non plus
mon problème est que dans los du collage, les données monétaires avec des « , » s’intègre avec des " "
mon souci vient du CSV généré qui concerve des « , » au lieu de mettre des « . »

je n’arrive pas à convertir les « , » en « . » de façon intermédiaire sans générer un bouton supplémentaire

voici les codes :
Sub Export_N()

Worksheets(« Saisie N »).Select
Dim MyPath As String
Dim MyFileName As String
Dim NomFichierTemp, NomFichier As String
Dim Chemin As String

Columns(« A:A »).EntireColumn.Hidden = False
Chemin = Application.ActiveWorkbook.Path + ""

NomFichierTemp = (Application.ActiveWorkbook.Name)

NomFichier = Replace(« Export Données N », « .xlsm », « .csv »)

Sheets(« Saisie N »).Copy

With ActiveWorkbook

.SaveAs Filename:= _
    Chemin & NomFichier, _
    FileFormat:=xlCSV, _
    Local:=True, _
    CreateBackup:=False

.Close False

End With
Columns(« A:A »).EntireColumn.Hidden = True
Worksheets(« Paramètres »).Activate
End Sub

et
ub IMPORT_N_moins_1()

’ Déclaration des variables

Dim wkbSource As Workbook
Dim wkbdestination As Workbook
Dim NouvelleFeuille As Worksheet
Dim Fichier As String, Chemin As String

'convertir la colone A en format texte avant import de l’onget import relevé

’ ouverture et choix du fichier par une boite de dialogue

Set monWb = Application.ActiveWorkbook

Fichier = Application.GetOpenFilename()

If Fichier = "Faux" Then Exit Sub

Workbooks.Open Fichier

’ Selectionner la zone à copie

Columns(« A:YB »).Select

'Copier la zone

Selection.Copy

’ Fermer un fichier sans sauvegarde
Application.DisplayAlerts = False
ActiveWorkbook.Close False
Application.DisplayAlerts = True

monWb.Worksheets(« Données N-1 »).Select
Range(« A1 »).Select
ActiveSheet.Paste

'convertir ; en colone
monWb.Worksheets(« Données N-1 »).Select
Columns(« A:A »).Select
Selection.TextToColumns Destination:=Range(« A1 »), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 2), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1)), _
TrailingMinusNumbers:=True

'copie le format de la feuille saisie N pour l’appliquer la feuille Données N-1
monWb.Worksheets(« Saisie N »).Activate
Cells.Select
Range(« B1 »).Activate
Selection.Copy
Sheets(« Données N-1 »).Select
Cells.Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False

monWb.Worksheets(« Paramètres »).Activate
End Sub

avez vous une piste ?
je ne suis pas en mesure de fournir le fichier pour des raisons confidentielles

merci

et si vous ajouter ceci au « Texttocolumns »
…TrailingMinusNumbers:=True, DecimalSeparator:=« , », ThousandsSeparator:=« . »

j’ai testé et le résultat c’est que le 521,80 € c’est intégré en 52180 € (avant c’était 521 80 )

je pense qu’il y a un truc a fait au moment de la macro d’export pour enregister un csv avec des points et non des virgules

Bonjour,

Si seulement on avait le fichier pour qu’on puisse tester …

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.