transformer format texte en format nombres vba

albert

XLDnaute Occasionnel
Bonjour forumiens, forumiennes,


Les cours téléchargés sur yahoo ont un point comme séparateur de décimales.
Lorsque je travaille avec excel, j’indique un point dans les options des
paramètres régionaux du panneau de configuration.
Mais si je travaille en virgule (paramètres régionaux), je transforme le « . » en « , » avec Selection.Replace What:='.', Replacement:=',', LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
Mais le résultat du téléchargement donne du texte et non pas des nombres et excel fait une erreur pour travailler les formules, les graphes… Il faut donc que je trouve le moyen de convertir le format texte en format nombre. J’ai écrit un code pour convertir, mais si la conversion manuelle fonctionne bien, le code vba plante…
url]http://bvrve.club.fr/Astuces_Michel/159excel.html[/url]

bref, j’ai essayé de nombreuses solutions, la transformation manuelle fonctionne, mais pas avec le code vba…
si quelqu’un a une idée en code vba, je suis preneur.

Merci d’avance [file name=test_20060309150002.zip size=17018]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/test_20060309150002.zip[/file]
 

Pièces jointes

  • test_20060309150002.zip
    16.6 KB · Affichages: 271

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Albert, bonjour le forum,

Moi et les formats on n'est pas très copains mais j'ai testé le code ci-dessous et il pourrait te convenir :


Public Sub test()
For Each cel In Range('B2:G27')
cel.Replace What:='.', Replacement:=',', LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
cel.Value = CDbl(cel.Value)
cel.NumberFormat = '0.00'
Next cel
End Sub
 

albert

XLDnaute Occasionnel
merci Robert!
c'est extraordinaire, ton code me sort de l'onière, j'ai passé des heures sur ce problème.
j'avais essayé
Range('B2:G27').NumberFormat = '# ##0.00'
au lieu de cel.NumberFormat = '0.00'

il fallait trouver le bon format

albert
 

wekas

XLDnaute Nouveau
Re : transformer format texte en format nombres vba

Bonjour à tous sur le forum,
voila je vous expose mon problème qui est à peu près le même que celui d'albert;
lorsque je fais une saisie de nombre dans un userform pour les mettre sur une feuille d'archivage ceux-ci s'affichent en format texte et donc je ne peux pas effectuer de calculs à moins de convertir manuellement les données dans les cellules en format nombre.
Comment faire pour pouvoir convertir ces données en format nombre de manière automatique sur VBA?
Je vous joins la sauvegarde du projet pour que vous visualisiez mieux le problème.

damntest.xltm
(lien pour dl je ne peux pas mettre de pièce jointe sur mon campus...)
 

Cousinhub

XLDnaute Barbatruc
Re : transformer format texte en format nombres vba

Bonjour,

et bienvenue sur ce forum

Regarde le fichier joint

j'ai modifié quelques petits points (notamment, j'ai placé les Textboxs dans l'ordre, le 1 en haut, et le 8 en bas), modifié également l'ordre de Tabulation, ainsi, tu peux te déplacer du TB1 vers TB2, et ainsi de suite

Pour rentrer une note avec décimale, utilises le point du pavé numérique (16.2)
 

Pièces jointes

  • damntest1_v1.xlsm
    29.8 KB · Affichages: 633

job75

XLDnaute Barbatruc
Re : transformer format texte en format nombres vba

Bonjour à tous, salut Robert et Bh2 :)

Je ne peux pas ouvrir le fichier Excel 2007 (et je ne tiens pas à télécharger le logiciel).

Pour le problème d'albert, le code suivant transforme les textes sélectionnés en nombres quelque soit le séparateur décimal utilisé :

Code:
Selection.Replace What:=".", Replacement:=[B][COLOR="Red"]"."[/COLOR][/B], LookAt:=xlPart

En effet VBA utilise uniquement le point comme séparateur décimal.

A+
 

wekas

XLDnaute Nouveau
Re : transformer format texte en format nombres vba

ouah merci beaucoup tu déchires tout!!!
Je vais regarder tes modifications qui nous sauvent la vie (c'est vraiment génial); j'ai aussi remarqué que les numéro élèves s'incrémentent automatiquement!!!
Bref merci beaucoup je suis trop content.
 

Cousinhub

XLDnaute Barbatruc
Re : transformer format texte en format nombres vba

Re-,

Bonjour, Job

je te mets le fichier en .Zip, et au format .xls

Tu verras qu'il n'est nul besoin de remplacer le point par une virgule, avec la fonction "Val"
 

Pièces jointes

  • damntest1_v1.zip
    25.5 KB · Affichages: 753

Discussions similaires

Statistiques des forums

Discussions
312 103
Messages
2 085 310
Membres
102 859
dernier inscrit
Diallokass