Probléme sur un format numérique

Bonjour,

Je bloque depuis 2 jours sur un problème de format numérique sur une macro.

Je vous explique :

J'effectue une extraction de données depuis SAP d'un texte avec tabulation en xls.

J'ai ensuite enregistré une macro qui consiste à modifier le format des cellules chiffres :

exemple : une donnée "162,500.50" que j'aimerai convertir en "162 501"

Le code ainsi enregistré est :

Windows("soldes.xls").Activate

Range("K:Q").Select

Selection.Replace What:=",", Replacement:=""

Selection.Replace What:=".", Replacement:=","

Selection.NumberFormat = "#,##0"

Or le résultat n'est pas celui attendu : en effet, cela fonctionne avec les montants supérieurs à 1000€, mais pas sur les montants inférieurs (soit les montants qui ne contiennent pas de "," initialement).

Est ce que quelqu'un aurait une solution???

Merci de votre aide

Bonjour widy20,

Essayez avec :

Selection.NumberFormat = "# ##0,000" si vous voulez l'affichage avec les séparateurs de milliers et trois décimales

Selection.NumberFormat = "#0,000" si vous voulez l'affichage sans les séparateurs de milliers et trois décimales

Or le résultat n'est pas celui attendu : en effet, cela fonctionne avec les montants supérieurs à 1000€, mais pas sur les montants inférieurs (soit les montants qui ne contiennent pas de "," initialement).

parce que c'est du texte et cela reste du texte

il faut aussi faire la conversion texte > numérique

Or le résultat n'est pas celui attendu : en effet, cela fonctionne avec les montants supérieurs à 1000€, mais pas sur les montants inférieurs (soit les montants qui ne contiennent pas de "," initialement).

parce que c'est du texte et cela reste du texte

il faut aussi faire la conversion texte > numérique

Merci!

et la conversion texte à numérique, ça donne quoi en code VBA?...

Bonjour widy20,

Essayez avec :

Selection.NumberFormat = "# ##0,000" si vous voulez l'affichage avec les séparateurs de milliers et trois décimales

Selection.NumberFormat = "#0,000" si vous voulez l'affichage sans les séparateurs de milliers et trois décimales

Merci, je vais tester les 2 formats et prendre celui qui me donnera le meilleur résultat

bonjour à tous

on n'extrait plus de xls ou csv par VBA, on fait Données/Obtenir *

et là on choisit confortablement les formats (nombres, monnaie, texte, date, heure... )

pas de problème, pas de VBA, pas de formule

*depuis 10 ans !

amitiés à tous

Bonjour,

@ jmd,

Excel ne reconnaît pas 162,500.50 comme valeur numérique. Power Query, de même.

Dans les 2 cas, on doit transformer manuellement les données (automatisé avec VBA ou Power Query).

Maintenant, si tu as une solution Power Query pour convertir cette chaîne de caractères en un clic (GUI) et sans ajouter de colonne, je suis preneur !...

Sinon, pour le format, utiliser simplement :

.NumberFormat = "General"

Or le résultat n'est pas celui attendu : en effet, cela fonctionne avec les montants supérieurs à 1000€, mais pas sur les montants inférieurs (soit les montants qui ne contiennent pas de "," initialement).

parce que c'est du texte et cela reste du texte

il faut aussi faire la conversion texte > numérique

et la conversion texte à numérique, ça donne quoi en code VBA?...
=val(mon_texte)

après remplacement comme proposé des , et des .

mets un bout de fichier

Bonjour,

@ jmd,

Excel ne reconnaît pas 162,500.50 comme valeur numérique. Power Query, de même.

Dans les 2 cas, on doit transformer manuellement les données (automatisé avec VBA ou Power Query).

Maintenant, si tu as une solution Power Query pour convertir cette chaîne de caractères en un clic (GUI) et sans ajouter de colonne, je suis preneur !...

re

dans PQuery,

clic droit sur la colonne, "remplacer valeur" tu mets la virugule et tu mets rien en seconde case,

à nouveau clic droit, "rempalcer valeur", tu mets . et tu mets ,

puis tu changes le format

pas de formule à taper, pas de colonne de plus, pas de VBA. Tout est simple avec PQuery.

et ensuite c'est automatique

power-amitiés

RE,

@ jmd,

Tu n'as donc pas de solution en un-clic.

Ce que tu décris, est identique à la proposition VBA.

Cdlt.

re

Jean-Eric

le résultat est le même, mais la méthode n'a rien à voir

on peut transporter des moutons dans une Juva 4. Mais un camion à bestiaux est plus indiqué

argh !

tu oses comparer M et VBA ?

M possède un GUI compréhensible, pas VBA

Amitiés à toi et à tous

re

Jean-Eric

le résultat est le même, mais la méthode n'a rien à voir

on peut transporter des moutons dans une Juva 4. Mais un camion à bestiaux est plus indiqué

argh !

tu oses comparer M et VBA ?

M possède un GUI compréhensible, pas VBA

il est ainsi à la portée des débutants, pas VBA

il fonctionne longtemps sans anicroche, pas VBA

Amitiés à toi et à tous

Rechercher des sujets similaires à "probleme format numerique"