Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Excel - supprimer les '0'

J

jlp

Guest
Bonjour,
j'ai importé des données (texte) dans un tableau Excel
ex: 000000345.2207

Je dois récupérer ces données dans une autre feuille du tableau avec la formule =INDEX(xxxx;yyy!L1C777;11)

Je récupère bien dans cette cellule : 000000345.2207

j'aimerais savoir comment faire pour supprimer tous les '000' inutiles.

Merci d'avance pour votre aide.
 
J

Jean-Marie

Guest
Bonsoir jlp

Formule matricielle à valider par Ctrl+Shift+Entrer
=STXT(A1;EQUIV(1;SI(STXT(A1;LIGNE(DECALER(A1;;;NBCAR(A1)));1)="0";255;1);0);NBCAR(A1))

ou plus simplement

=SUBSTITUE(SUBSTITUE(A1;".";",")+0;",";".")

@+Jean-Marie
 
J

Jean-Marie

Guest
Re...

André, regarde l'énoncé j'ai importé des données (texte) dans un tableau Excel .

Excel intègre les chiffres ayant le séparateur décimal (paramètre système) comme valeur numérique automatiquement lors de l'importation.
Sur mon micro utilisant la "," comme séparateur décimale, si je fais CNUM ou une multiplication par 1 ou une addition voir une soustraction de 0, j'obtiens un message d'erreur. André, j'ai peut-être pas capté un truc.

@+Jean-Marie
 
A

andré

Guest
Salut Jean-Marie,

Cette fois c'est moi qui ne comprends plus !

Lorsque je mets une cellule en format texte et que j'y tape 000000345.2207 j'obtiens bien cette valeur dans la cellule (alignement gauche).

Lorsque dans une autre cellule je tape :
=CNUM(la cellule), j'obtiens 345.2207 (alignement droit)
=(la cellule)*1, j'obtiens 345.2207 (alignement gauche)

J'en conclu donc, peut-être un peu hâtivement, que si je fais précéder la formule contenant la fonction INDEX de CNUM, ou que je la multiplie par 1, cela doit être la même chose.

Ândré.
 
J

Jean-Marie

Guest
Bonjour André

Oui d'accord, si je mets la cellule en format texte et que je tape 000000345,2207 la virgule qui est mon séparateur décimal, avec les deux fonctions que tu proposes, cela fonctionne très bien.

Si Jlp a comme séparateur le ".", je lui conseillerai directement de modifier dans la boîte de dialogue d'import, ce champ en valeur numérique.

ou

de faire un copier d'une cellule contenant une valeur 0 et de faire un collage spécial de cette cellule avec une opération d'addition ou de soustraction.

@+Jean-Marie
 
J

jlppap

Guest
Bonjour,

merci à Jean-Marie et André pour votre aide.


Si j'ajoute CNUM à la formule j'obtiens bien l'erreur : #VALEUR! ce qui est 'normal' puisque dans la cellule d'origine j'ai bien : 000003455.2250

c'est bien un . (point) et non une virgule, ce qui, dans ce cas ne poserait pas de pb.
------------------------------------
Y aurait-il un moyen de changer automatiquement le 'point' par une virgule dans la cellule d'origine?
------------------------------------
je sens que l'on s'approche du dénouement... mais je ne comprendrais tout à fait votre lassitude vis à vis de mon pb.

merci à vous.
 
A

andré

Guest
Salut,

Maintenant je comprends mieux.
Sur mon PC j'ai adopté le point comme séparateur de décimales !

Pour changer le point par une virgule dans des données textes, il faut passer par le menu Edition / Remplacer, ou bien comme le suggérait jean-marie par la fonction SUBSTITUE

En variante, il faudrait essayer pour une valeur à traiter en A1 : =CNUM(SUBSTITUE(A1;".";")
Dans l'autre sens cela fonctionne, en remplaçant la virgule par le point.

Ândré.
 
J

jlppap

Guest
Rebonjour à vous deux.

Mon dieu, que de mal, que de temps passé et quelle commande pour arriver à supprimer des choses inutiles !!!

Encore un grand MERCI à vous deux.

-----------------------------------------------------------
=SUBSTITUE(SUBSTITUE(INDEX(base_cde;BOITES!L1C256;32);".";",")+0;",";".")&" EUROS"


ce qui donne : 1344.028 EUROS
-----------------------------------------------------------

Bonne semaine.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…