Tableau de nombres reconnu en tableau de texte

Bonjour à tous,

J'ai un logiciel qui me sort un tableau de nombre avec des ".". J'ai donc des valeurs comme 93.1, 43.7, ...

Pour pouvoir traiter ces données, j'utilise une macro qui permet de transformer ces points en virgules :

Cells.Replace What:=".", Replacement:=",", LookAt:=xlPart, SearchOrder _

:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

Donc à la fin du traitement, les points sont transformés en virgules, mais le gros problème c'est ils sont toujours considérés comme des cellules de texte. Le problème est que j'ai plusieurs centaines de fichiers et de feuilles à transformer ainsi, je ne peux pas le faire manuellement.

Je cherche assez désespérément depuis ce matin sur des forums sans trouver de méthode qui convienne.

Si je pouvais recevoir un peu d'aide, cela serait très sympa,

Merci par avance,

Valentin

Bonjour

Attention, car excel considère la zone numérique avec un point, pas avec une virgule

Donc es-tu sûr de vouloir des virgules ??

A+

Merci pour cette réponse,

Oui, je suis sûr de vouloir des virgules, cela marche de cette façon sur Excel 2007.

Sinon, si il y a un moyen de faire comprendre à Excel que les cellules contenant des "." sont des nombres, alors je suis preneur.

Bonjour

Dans les cellules qui t'intéressent, as-tu regardé la mise en forme ?

??

Je veux dire le format de cellule

Bonjour

Le tableau initial est au format excel ou bien csv ?

Bonjour

il faut mettre Val pour le point

A tester ex: Range("F6").Value = Val(Range("F6").Value)

end Vba bien sur

A+

Maurice

Re

Je voulais dire le format de cellules

Bonjour à tous,

Merci pour vos réponses,

archer

Bonjour

il faut mettre Val pour le point

A tester ex: Range("F6").Value = Val(Range("F6").Value)

end Vba bien sur

A+

Maurice

Merci beaucoup, ce code a marché pour la cellule F6 de mon tableau, cependant j'aimerai le répéter sur l'ensemble des cellules de mon tableau, qui va de B4 à EW1003, avec parfois des cases vide. J'ai donc fait :

Sub FormatCellule()
Range("B3:EW1003").Value = Val(Range("B3:EW1003").Value)
End Sub

Et ça se termine par une erreur. J'aurai ce code à répéter sur une multitude de feuilles d'un même classeur simultanément.

Encore merci !

Comme vous pourrez le voir sur la capture d'écran, voilà ce que j'obtiens avec des "." en séparateurs décimal. A noter que j'obtiens exactement la même chose avec des ",".

Le seul moyen que j'ai pour faire comprendre à Excel que ce sont bien des nombres, c'est passer par la formule précédente, soit le faire manuellement

excel 1

bonjour

je suppose que tu fait un import sur un fichier ?

avec quelle macro ?

if faut peux être changer la macro import

A+

Maurice

Bonsoir

Si je ne me trompe pas, tu n'as jamais envoyé de fichier.

Cela ne doit pas être facile mais un extrait de ces fichiers pourrait peut-être nous aider à te rendre service

???

A+

J'ai pu trouver une solution, en fait c'est le Symbole Décimal de Windows qui contenait une virgule au lieu du point.

Pour ceux qui ont ce problème (Windows 7), il faut aller dans "Modifier le format des dates, des heures, ou des nombres", cliquer sur "Paramètres supplémentaires", et "Symbole Décimal".

Désolé de vous avoir dérangé,

Merci à vous tous.

Rechercher des sujets similaires à "tableau nombres reconnu texte"