Ci joint un fichier avec macro [file name=TestDavid2.zip size=11796]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/TestDavid2.zip[/file]
Le problème provenait de la confusion entre le point ( code ascii 46) et la virgule (code ascii 44).
Le point du clavier numérique est vu sur l'écran en fonction du choix qui est fait dans les paramètres régionaux.
Donc pour faire la conversion des données il faut faire comme si les valeurs étaient saisies au clavier.
Donc pour faire la transformation il faut éliminer le premier séparateur, et le deuxième le transformer en point.
a = a1 & a3 & a4 & a5 & Chr$(46) & ....
Le problème sous jacent est le nombre de chiffre dans la valeur numérique à transformer.
J'ai transformé la macro pour tenir compte de ce fait.
La fonction Len donne la longueur du texte.
On décompose avec la fonction MID la valeur et on teste chaque caractère.
Si chiffre on le garde (concaténation pour recomposer le nombre)
Si espace ou point on supprime
Si virgule on met un point.
J'espère avoir répondu à ta question.
Ci joint fichier modifié [file name=TestDavid3.zip size=13435]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/TestDavid3.zip[/file]