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