VBA 3 lignes de code tranformer 0.000,00 en 0 000.00 (deja cherché sur le net)

mulpha

XLDnaute Nouveau
Bonjour,

Je sais que cette question revient souvent mais j'ai un problème avec le changement de chiffre/format de 1.230,60 en 1 230.60

Ma macro fait 3 lignes, j'en est essayée plusieurs, trouvée sur le net mais rien à faire ca ne fonctionne pas pour moi.

Voici, ci-joint, le fichier qui résume mes problèmes...


Je précise que le fichier est extrait d'un progiciel et qu'il sort en .tsv (comme du txt) que je transforme en xls.

Merci par avance pour votre aide !!!!
Mulpha
 

Pièces jointes

  • test - Engagements.xls
    22.5 KB · Affichages: 53
G

Guest

Guest
Re : VBA 3 lignes de code tranformer 0.000,00 en 0 000.00 (deja cherché sur le net)

Bonjour,

VB:
   For Each c In Selection
    c.Value = CDbl(Replace(Replace(c.Text, ".", ""), ".", ","))   
   Next c

A+

[Edit] Hello bh²:):):)
 
Dernière modification par un modérateur:

Cousinhub

XLDnaute Barbatruc
Re : VBA 3 lignes de code tranformer 0.000,00 en 0 000.00 (deja cherché sur le net)

Bonjour,

En utilisant la Fonction Convertir, du menu Données, et à l'étape 3, dans "Avancé", séparateur décimal : ",", séparateur de milliers : "."

En VBA, cela donne :

Code:
    Range("F2:F" & Cells(Rows.Count, 6).End(xlUp).Row).TextToColumns Destination:=Range("F2"), DataType:=xlDelimited, _
        FieldInfo:=Array(1, 1), ThousandsSeparator:=".", TrailingMinusNumbers:=True

Bonne journée

Hi, Salut Ges..;);)
 

mulpha

XLDnaute Nouveau
Re : VBA 3 lignes de code tranformer 0.000,00 en 0 000.00 (deja cherché sur le net)

OUUUAHHH !!!!

Merci pour ta réponse rapide ! et merci pour ta réponse qui convient parfaitement.
Je me doutais bien que ca tournais autour de replace mais je ne m'en sortais pas.
J'avais trouvé "CDbl" mais je ne m'en étais pas servis comme tu l'a fait.

Merci encore pour ton aide ! Tu viens de faire gagner 10minutes à 5 personnes tous les mois ;)
Bonne journée
Mulpha
 

mulpha

XLDnaute Nouveau
Re : VBA 3 lignes de code tranformer 0.000,00 en 0 000.00 (deja cherché sur le net)

bhbh merci pour ta contribution également mais je ne sais pas si ca vient de ma version 2000 d'excel mais il me met erreur argument introuvable pour "TrailingMinusNumbers:="

La solution de Hasco me convient très bien
D'ailleurs Hasco pourrais tu m'expliquer cette fonction ("CDbl")?

merci mulpha
 
G

Guest

Guest
Re : VBA 3 lignes de code tranformer 0.000,00 en 0 000.00 (deja cherché sur le net)

Re,

voir l'aide excel sur la fonction de conversion CDBL (convertit en double) et Val

Cdbl("12.2") -> erreur alors que Val("12.2") = 12,2
Cdbl("12,2") ->ok alors que Val("12,2")= 12

A+
 

Cousinhub

XLDnaute Barbatruc
Re : VBA 3 lignes de code tranformer 0.000,00 en 0 000.00 (deja cherché sur le net)

Re-,

Essaie en supprimant la fin :

Code:
Range("F2:F" & Cells(Rows.Count, 6).End(xlUp).Row).TextToColumns Destination:=Range("F2"), DataType:=xlDelimited, _
    FieldInfo:=Array(1, 1), ThousandsSeparator:="."

Peut-être....
 

mulpha

XLDnaute Nouveau
Re : VBA 3 lignes de code tranformer 0.000,00 en 0 000.00 (deja cherché sur le net)

Merci a vous 2 !
@Hasco:
J'avoue que je débute en VBA et que je suis un peu faché avec l'aide excel, promis je vais m'y mettre

@Bhbh
effectivement, merci, il suffisait de le supprimer pour que ca fonctionne !

Bonne journée et merci