VB6+Excel Copier/coller format numérique
Salut,
j'ai un petit soucis de conservation de format numérique
description rapide :
j'ouvre un fichier texte avec excell,
je copie 2 colonnes
je ferme le fichier texte
je colle les deux colonnes dans un autre fichier
problème : la virgule disparait
config : séparateur numérique = ","
description détaillée :
j'ai un fichier texte avec des valeurs :
Code:
1 2 3 4 5
| 41,372203 0,000000
40,389933 0,020408
...
62,817208 0,979592
63,749042 1,000000 |
je l'ouvre avec excel
(je l'enregistre juste pour debugger)
Code:
1 2 3 4 5 6 7 8 9 10 11
| ExcelApp.Workbooks.OpenText FileName:=nomFichierLoi, Origin _
:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True, Semicolon:=False, _
Comma:=False, Space:=True, Other:=False
ExcelApp.Range(Cells(1, 1), Cells(nbPoints, 2)).Select
ExcelApp.Selection.NumberFormat = "0.000000"
' debug
ExcelApp.ActiveWorkbook.SaveAs FileName:=nomFichierLoi + ".xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
' /debug |
ce qui me donne
Code:
1 2 3 4 5
| 41,372203 0,000000
40,389933 0,020408
...
62,817208 0,979592
63,749042 1,000000 |
je veux copier ces deux colonnes dans un nouveau fichier
Code:
1 2 3
| ExcelApp.Range("A1:B" & nbPoints).Select
ExcelApp.Selection.Copy
ExcelApp.ActiveWorkbook.Close (False) ' Fermeture |
puis je ferme mon fichier vu que j'en ai plus besoin
là j'ai un soucis, mon espion de visual m'indique que toutes mes "," ont sauté et que les valeurs comme 62,817208 sont devenues 62817208... (en exécutant l'action close) sur une seule colonne...
bizarrement sur la seconde colonne toutes les valeurs sauf le 0 et le 1 sont devenues des champs textes ("Nombre stocké sous forme de texte")
du coup quand je veux coller mes deux colonnes...
Code:
1 2 3 4
| ExcelApp.Sheets(nomLoi + "_DATA").Activate
...
ExcelApp.Range(Cells(3, 2 * i - 1), Cells(2 + nbPoints, 2 * i)).Select
ExcelApp.ActiveSheet.Paste |
j'obtiens
Code:
1 2 3 4 5
| 41372203 0,000000
40389933 0,020408 (0,020408 -> "Nombre stocké sous forme de texte")
...
62817208 0,979592 (0,979592 -> "Nombre stocké sous forme de texte")
63749042 1000000 |
j'ai bien essayé de remettre un
Code:
ExcelApp.Selection.NumberFormat = "0.000000"
juste avant le paste mais j'obtiens
Code:
1 2 3 4 5
| 41372203,000000 0,000000
40389933,000000 0,020408
...
62817208,000000 0,979592
63749042,000000 1000000,000000 |
je trouve pas ...