Excel traitement de chaîne par NBCAR : problème décimales avec 0
maitreFolace
Messages postés
2
Statut
Membre
-
eriiic Messages postés 24581 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24581 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Bonjour,
sous excel 2003
Je cherche à concaténer une chaîne de caractères numérique variable pour en constituer une de 15 caractères avec décimale.
Ceci afin de la réinjecter dans un programme
Exemple
Avec 5250.43 en A1
Cela ne pose pas de problèmes
avec soit
=CONCATENER(GAUCHE("000000000000000";15-NBCAR(A1));A1)
=REPT("0";15-NBCAR(A1))&A1
j'obtiens bien
000000005250,43 : mon chiffre dans une chaîne de 15 caractères
Cependant si j'ai en A1 10.00
J'obtiens alors avec les deux fonctions
000000000000010 et non 000000000010.00
de même si j'ai en A1 25.60
j'obtiens alors
0000000000025,6 et non 000000000025,60
Même si je formate les cellules en nombre à 2 décimales ou en 000000000000.00
ce qui tendrait a montrer que le format n'influe pas sur les données mais, que les formules utilisées, elles influent sur le format de sortie.
Le problème viendrait de l'utilisation de NBCAR qui donne 2 pour 10.00 et 5 pour 10.01
Il y a t' il une autre solution ou une option de NBCAR que je n'ai pas trouvée ?
Dans l'attente de solutions concrètes
Bien cordialement
Bonjour,
sous excel 2003
Je cherche à concaténer une chaîne de caractères numérique variable pour en constituer une de 15 caractères avec décimale.
Ceci afin de la réinjecter dans un programme
Exemple
Avec 5250.43 en A1
Cela ne pose pas de problèmes
avec soit
=CONCATENER(GAUCHE("000000000000000";15-NBCAR(A1));A1)
=REPT("0";15-NBCAR(A1))&A1
j'obtiens bien
000000005250,43 : mon chiffre dans une chaîne de 15 caractères
Cependant si j'ai en A1 10.00
J'obtiens alors avec les deux fonctions
000000000000010 et non 000000000010.00
de même si j'ai en A1 25.60
j'obtiens alors
0000000000025,6 et non 000000000025,60
Même si je formate les cellules en nombre à 2 décimales ou en 000000000000.00
ce qui tendrait a montrer que le format n'influe pas sur les données mais, que les formules utilisées, elles influent sur le format de sortie.
Le problème viendrait de l'utilisation de NBCAR qui donne 2 pour 10.00 et 5 pour 10.01
Il y a t' il une autre solution ou une option de NBCAR que je n'ai pas trouvée ?
Dans l'attente de solutions concrètes
Bien cordialement
2 réponses
-
Salut,
le plus simple est d'utiliser la fonction texte :
=TEXTE(A1;"0000000000000,00")
A voir si tu as toujours deux décimales ?
-
Merci à vous 2
La méthode d'Eriiic à l'avantage d'être simple mais si je met en A1 10.01 j'obtiens 0.10 ?! (je me suis peut être planté!)
Donc je prend celles de Philou10120 qui semblent me convenir et ont l'avantage de pouvoir mettre n'importe quel caractère à la place du 0
(j'me risque sur le bizard ... j'lui trouve un goût de pomme ;-) )
Merci encore à vous