cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 20 nov. 2008 à 11:16
Ça m'intéresse aussi ce genre de code puisque j'y suis confronté régulièrement...
Cette partie devrait être revue
# Close #1
# Open Chemin & "FichierP.txt" For Input As #1
# Close #2
# Open Chemin & "FichierV.txt" For Input As #2
# Close #3
# Open Chemin & "FichierMixte.txt" For Input As #3
1- tu fermes les fichiers avant de les ouvrir, mais tu ne les fermes pas par la suite...
2- #1 pourrait être le seul utilisé dans ce cas-ci.
3- pense à utiliser FreeFile.
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 19 nov. 2008 à 15:29
d'autre part, il est faux de faire un Replace(",", ".")
c'est bien trop radical, et ne tiens pas compte du séparateur des milliers.
63,450.2 est un nombre tout ce qu'il y a de plus convenable, en format US.
ton Replace provoquerait : 63.450.2 ce qui ne signifie plus rien...
ton code manque de tests utilisant IsNumeric
(Cette fonction se fie aux regional settings)
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 19 nov. 2008 à 15:24
code pour le moins étrange, qui s'interesse néanmoins a un probleme qui me tient a coeur.
Do While SymboleTouche = "."
LigneRecuperee = Replace(LigneRecuperee, ",", ".")
SymboleDecimal = LigneRecuperee
Exit Do
Loop
20 nov. 2008 à 11:16
Cette partie devrait être revue
# Close #1
# Open Chemin & "FichierP.txt" For Input As #1
# Close #2
# Open Chemin & "FichierV.txt" For Input As #2
# Close #3
# Open Chemin & "FichierMixte.txt" For Input As #3
1- tu fermes les fichiers avant de les ouvrir, mais tu ne les fermes pas par la suite...
2- #1 pourrait être le seul utilisé dans ce cas-ci.
3- pense à utiliser FreeFile.
19 nov. 2008 à 15:29
c'est bien trop radical, et ne tiens pas compte du séparateur des milliers.
63,450.2 est un nombre tout ce qu'il y a de plus convenable, en format US.
ton Replace provoquerait : 63.450.2 ce qui ne signifie plus rien...
ton code manque de tests utilisant IsNumeric
(Cette fonction se fie aux regional settings)
19 nov. 2008 à 15:24
Do While SymboleTouche = "."
LigneRecuperee = Replace(LigneRecuperee, ",", ".")
SymboleDecimal = LigneRecuperee
Exit Do
Loop
pourquoi ne pas utiliser un simple 'If' ?