Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Conversion Pb Format US FR mixé

3 réponses
Avatar
vswildcat
Bonjour,

Je suis complètement perdue ;-)

Voici le problème :

Format des nombres d'une extraction d'un autre logiciel à priori US :
ex. 1.250,98

Je veux donc remplacer "." par " " (rien) pour avoir des chiffre en français.

Le problème, c'est que tous les chiffres qui n'ont pas de "." (donc
inférieurs à 1000) sont également modifiés comme suit :

1.250,98 => devient 1025,98 => OK
498,56 => devient 49856 => pas OK

Donc, pour tous les chiffres qui n'ont pas de ".", Excel remplace la ",". Et
ce n'est pas fini...

498,56 => devient 49856 => pas OK
Mais si c'était le cas de tous les chiffres, je pourrais également enlevéer
la "," de 1025,98 et ensuite diviser tous mes chiffres par 100, mais :

625,00 => reste 625,00
C'est à dire que si les décimales sont 00, Excel ne remplace pas la ","
comme il le fait pour 498,56.

J'ai pensé au Regional Settings : ils sont en Français et doivent le rester
pour des problèmes de calculs de dates, mais Excel (et le VBA) c'est de
l'anglais, donc, j'ai penser à changer le "." dans la macro en "," ; le
résultat encore pire : le "." reste sur mes chiffres supérieur à 1000, les
virgule sont bien supprimées sur les chiffres qui ont autre chose que 00
après la virgule, mais pas sur ceux qui ont 00 après la virgule.

J'ai donc fait la chose suivante, d'abord dans Excel (pas macro) :
Text to colum => afin de tou convertir en text
Replace "." par " " (rien)
Et là, ça fonctionne !!

1.250,98 => devient 1025,98 => OK
498,56 => reste 498,56 => OK
625,00 => reste 625,00 => OK

Puis de nouveau Text to column pour repasser en chiffres et tout va bien.

Je refais donc le même principe, je mets le code dans la macro, je lance la
macro, et là... je retombe sur le problème de départ :

1.250,98 => devient 1025,98 => OK
498,56 => devient 49856 => pas OK

Comme si la converison en text n'avait aucun influence...

Je ne vois pas comment m'en sortir, merci pour votre aide.

3 réponses

Avatar
MichDenis
Tu sélectionnes ta plage de cellules

Barre des menus / données / convertir /
fenêtre 1 -> Délimité
fenêtre 2 -> décoche toutes les cases (type de séparateur)
fenêtre 3 -> un clic bouton "Avancé"
choix : séparateur décimale = la virgule dans la liste déroulan
séparateur des milliers = le point dans la liste déroulante
fermer cette fenêtre par ok
s'assurer dans la fenêtre 3 principale que le format sélectionné est : "Standard"
Et un clic sur terminer ....




"vswildcat" a écrit dans le message de news:

Bonjour,

Je suis complètement perdue ;-)

Voici le problème :

Format des nombres d'une extraction d'un autre logiciel à priori US :
ex. 1.250,98

Je veux donc remplacer "." par " " (rien) pour avoir des chiffre en français.

Le problème, c'est que tous les chiffres qui n'ont pas de "." (donc
inférieurs à 1000) sont également modifiés comme suit :

1.250,98 => devient 1025,98 => OK
498,56 => devient 49856 => pas OK

Donc, pour tous les chiffres qui n'ont pas de ".", Excel remplace la ",". Et
ce n'est pas fini...

498,56 => devient 49856 => pas OK
Mais si c'était le cas de tous les chiffres, je pourrais également enlevéer
la "," de 1025,98 et ensuite diviser tous mes chiffres par 100, mais :

625,00 => reste 625,00
C'est à dire que si les décimales sont 00, Excel ne remplace pas la ","
comme il le fait pour 498,56.

J'ai pensé au Regional Settings : ils sont en Français et doivent le rester
pour des problèmes de calculs de dates, mais Excel (et le VBA) c'est de
l'anglais, donc, j'ai penser à changer le "." dans la macro en "," ; le
résultat encore pire : le "." reste sur mes chiffres supérieur à 1000, les
virgule sont bien supprimées sur les chiffres qui ont autre chose que 00
après la virgule, mais pas sur ceux qui ont 00 après la virgule.

J'ai donc fait la chose suivante, d'abord dans Excel (pas macro) :
Text to colum => afin de tou convertir en text
Replace "." par " " (rien)
Et là, ça fonctionne !!

1.250,98 => devient 1025,98 => OK
498,56 => reste 498,56 => OK
625,00 => reste 625,00 => OK

Puis de nouveau Text to column pour repasser en chiffres et tout va bien.

Je refais donc le même principe, je mets le code dans la macro, je lance la
macro, et là... je retombe sur le problème de départ :

1.250,98 => devient 1025,98 => OK
498,56 => devient 49856 => pas OK

Comme si la converison en text n'avait aucun influence...

Je ne vois pas comment m'en sortir, merci pour votre aide.
Avatar
Garette
Bonjour,

Et en remplaçant par espace et non pas par rien , ca donne quoi ?
En version Francaise, le séparateur decimal est , et le séparateur millier
est espace.

Sinon recherche dans ce forum le titre pb de MACRO
Il y a un sujet là dessus.
Avatar
vswildcat
MERCI !!!

A la suite de ça, j'ai quand même été obligée de faire un "replace", car
bien que ça se passe bien quand je l'ai fait dans Excel, la macro, elle
remplace les "," des chiffres inférieurs à 1000 par des "."
Donc :
1 - ta proposition
2 - replace
3 - de nouveau un text to colum pour repasser les cellules en standard (je
ne sais pas pourquoi elle repassent en text après ta manip (pourtant j'ai
bien selectionner "General" (=Standard)).

L'important, c'est que ça fonctionne.

Encore merci !!


Tu sélectionnes ta plage de cellules

Barre des menus / données / convertir /
fenêtre 1 -> Délimité
fenêtre 2 -> décoche toutes les cases (type de séparateur)
fenêtre 3 -> un clic bouton "Avancé"
choix : séparateur décimale = la virgule dans la liste déroulan
séparateur des milliers = le point dans la liste déroulante
fermer cette fenêtre par ok
s'assurer dans la fenêtre 3 principale que le format sélectionné est : "Standard"
Et un clic sur terminer ....




"vswildcat" a écrit dans le message de news:

Bonjour,

Je suis complètement perdue ;-)

Voici le problème :

Format des nombres d'une extraction d'un autre logiciel à priori US :
ex. 1.250,98

Je veux donc remplacer "." par " " (rien) pour avoir des chiffre en français.

Le problème, c'est que tous les chiffres qui n'ont pas de "." (donc
inférieurs à 1000) sont également modifiés comme suit :

1.250,98 => devient 1025,98 => OK
498,56 => devient 49856 => pas OK

Donc, pour tous les chiffres qui n'ont pas de ".", Excel remplace la ",". Et
ce n'est pas fini...

498,56 => devient 49856 => pas OK
Mais si c'était le cas de tous les chiffres, je pourrais également enlevéer
la "," de 1025,98 et ensuite diviser tous mes chiffres par 100, mais :

625,00 => reste 625,00
C'est à dire que si les décimales sont 00, Excel ne remplace pas la ","
comme il le fait pour 498,56.

J'ai pensé au Regional Settings : ils sont en Français et doivent le rester
pour des problèmes de calculs de dates, mais Excel (et le VBA) c'est de
l'anglais, donc, j'ai penser à changer le "." dans la macro en "," ; le
résultat encore pire : le "." reste sur mes chiffres supérieur à 1000, les
virgule sont bien supprimées sur les chiffres qui ont autre chose que 00
après la virgule, mais pas sur ceux qui ont 00 après la virgule.

J'ai donc fait la chose suivante, d'abord dans Excel (pas macro) :
Text to colum => afin de tou convertir en text
Replace "." par " " (rien)
Et là, ça fonctionne !!

1.250,98 => devient 1025,98 => OK
498,56 => reste 498,56 => OK
625,00 => reste 625,00 => OK

Puis de nouveau Text to column pour repasser en chiffres et tout va bien.

Je refais donc le même principe, je mets le code dans la macro, je lance la
macro, et là... je retombe sur le problème de départ :

1.250,98 => devient 1025,98 => OK
498,56 => devient 49856 => pas OK

Comme si la converison en text n'avait aucun influence...

Je ne vois pas comment m'en sortir, merci pour votre aide.