Excel traitement de chaîne par NBCAR : problème décimales avec 0
maitreFolace
Messages postés
2
Statut
Membre
-
eriiic Messages postés 25847 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 25847 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
A voir également:
- Excel traitement de chaîne par NBCAR : problème décimales avec 0
- Reconsidérer le traitement de vos informations à des fins publicitaires - Accueil - Réseaux sociaux
- Liste déroulante excel - Guide
- Nbcar en anglais - Guide
- Excel trier par ordre croissant chiffre - Guide
- Word et excel gratuit - Guide
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 ?
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
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
=NBCAR(CTXT(a1)) résultat = 5
non philou.
Et fais plutôt des réponses que des commentaires qu'on puisse te mettre -1 si besoin
eric
Je l'ai testé et cela fonctionne il suffit de l'incorporer dans la formule
=CONCATENER(GAUCHE("000000000000000";15-NBCAR(ctxt(A1)));CTXT(A1))
=REPT("0";15-NBCAR(CTXT(A1)))&CTXT(A1)
Mais ses formules pouvaient être complétées
eric