Bonjour à tous :hello: ,

voila j'arrive sur la dernière étape d'un classeur dans lequel j'ai développé quelques macros pour me faciliter un travail de saisie.

il s'agit maintenant d’exporter mes données au format XML "*.cxr" pour les importer ensuite dans un logiciel.

jusque là tout va bien. je généré le fichier et les tabulations sont au bon endroit.

par contre j'ai relevé un problème de taille ......:
- la mise en forme des nombres à virgule est modifié 950.10 devient 950,1

alors j'ai fais un test d'importation, après avoir remplacé les "," par des "." et le résultat final devient 950.01 ce qui n'est plus du tout la valeur voulu......

du coup j'ai deux questions:
Comment faire pour garder le bon nombre de décimales après la virgule.
Comment remplacer les virgule par des points

je vous met mon petit bout de code ci-dessous, la partie qui nous intéresse est compris entres les ligne 14 et 22.
pour info je n'utilise pas les librairies XML (Je ne sais pas comment on fait) .

Merci d'avance pour votre aide

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
'Ecrit dans le fichier cxr
'Entête du fichier texte'
Print #iFile, ("<LIBRARY>" )
Print #iFile, ("<COMMENT>" )
Print #iFile, ("    Essai2" )
Print #iFile, ("  </COMMENT>" )
Print #iFile, ("  <PLCTYPE>" )
Print #iFile, ("    CJ2M" )
Print #iFile, ("  </PLCTYPE>" )
Print #iFile, ("  <SYMBOL>" )
'Création du tableau par une boucle
'<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
ar = Sheets("Format CX" ).Cells(5, 3).CurrentRegion.Value    '// valeurs dans un array (plus rapide)
   For i = 1 To UBound(ar, 1)       '// boucle sur les lignes
      str = ""
      For j = 1 To UBound(ar, 2)    '// boucle sur les colonnes
         str = str & ar(i, j) & vbTab  '// valeurs séparées par tabulations
      Next j
      Print #iFile, str             '// écrire dans le fichier
   Next i
 
'<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
'Pied de page du fichier texte
Print #iFile, ("  </SYMBOL>" )
Print #iFile, ("  </LIBRARY>" )
Close #iFile                     '// Fermer le fichier

Pour info, voici le rendu final dans le fichier *.CXR

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
Entrée_NX	WORD	900  Entrées_Rack_NX	0	IN
Sortie_Nx	WORD	950  Sortie_Rack_NX	0	OUT
RM_AG_Préparation_Floc	BOOL	901,  DESH_AG5141	0
RM_AG_cuve_Coagulation	BOOL	901,01  DESH_AG6101	0
DEF_Ppe_Dos_Coagulant	BOOL	901,03  DESH_PD5111	0
DISJ_Ppe_Dos_Coagulant	BOOL	901,04  DESH_PD5111	0
DEF_Ppe_Dos_pH	BOOL	901,05  DESH_PD5121	0
DISJ_Ppe_Dos_pH	BOOL	901,06  DESH_PD5121	0