CONVERTIR EN CHIFFRE UNE VALEUR IMPORTEE TEXT

takouma

XLDnaute Nouveau
Bonjour à tous,

J'imagine que c'est l'éternelle question sous excel mais je n'ai pas trouvé mon bonheur dans les archives.....

J'importe un fichier .text d'une application de gestion d'immobilisation. Tout est à peu près correct sauf que les chiffres supérieurs à 999 arrivent avec un espace comme séparateurpour les milleirs, ce qui fait que je ne peux pas faire de calcul dessus. Impossible via les 'outils d'import 'de résoudre ce problème. Le seul moyen est d'aller sur chaque cellule concernée et de retirer ce blanc.

Donc petite macro à écrire mais malgré une formation suivie il y a quelques années je n'y arrive pas car on a pas fait de cas sur un morceau de cellule à modifier.La seule possibilité est de créer une macro
Je pensais faire un do while cellule non vide mais je n'arrive pas à traduire la suite c'est-à-dire :
faire F2 sur la cellule
décaler le curseur de 7 positions (xxx xxx,xx)
retirer le blanc.
C'est un peu tordu et il y a peut-être plus simple...je suis tout ouïe :p
Surtout que si on passe le million ça marche plus :eek:

Merci d'avance à tous
Takouma
 

lapix

XLDnaute Occasionnel
si ma memoire ne me fait pas defaut, tu as dans le masque d'importation un bouton 'avancé' qui te permet de definir le separateur de millier qui est en general 'blanc' et le separateur decimal qui peut etre soit ',' soit '.'. ceci en enregistrant une macro devrait te permettre d'obtenir ce que tu veux
 

andré

XLDnaute Barbatruc
Salut,

Tu as plusieurs possibiltés :

Sélectionner la colonne, puis :
Menu Edition / Remplacer / ' ' / (rien) / OK

A essayer (ce n'est pas dit que cela fonctionne)
Dans une colonne vosine : le fonction SUPPRESPACE()

Si tes nombres restent en format texte :
Sélectionner la colonne
Tâper 1 dans une cellule quelconque
Copier cette valeur
Collage spécial / Multiplication / OK

Ândré.
 

takouma

XLDnaute Nouveau
Première solution : fonctionne si je vais sur chaque cellule manuellement. Par contre en 'find and replace' cela ne marche pas.

Pour ce qui est de la fonction supprespace (que je ne connaissais pas merci de l'info) il semble, d'après ma bible , que cela supprime les espaces en début et en fin de cellule mais le probleme est que l'espace est au milieu, et pas toujours au même endroit :unsure:

En plus, j'ai la version anglaise et je n'ai pas trouvé la traduction de cette fonction. En cherchant un peu j'ai aussi vu la fonction EPURAGE (traduction anglaise???) est-ce que c'est mieux????

Multiplier par 1 que j'avais déja essayer, retourne #value puisque ce n'est pas un chiffre

Pour ce qui est des formats personnalisés, c'est ma bête noire je n'arrive pas à m'en servir :sick:
 

andré

XLDnaute Barbatruc
Resalut,

Si ton 'find and replace' ne fonctionne pas, c'est probablement que l'espace n'est pas un CAR(10), mais bien un CAR(160).

Essaie donc :
Remplacer : CAR(160)
Par : (rien)

Si cela ne marche pas, mets un petit extrait en pièce jointe.

Ândré.
 

takouma

XLDnaute Nouveau
Re Resalut

Je suppose que c'est la traduction ascii des touches mais je ne suis pas expert en la matière.
:woohoo:

Je t'envoie donc le fichier. tu verras les 2 premières lignes sont reconnues en chiffre et pas les autres.

Bon courage et merci encore

takouma
 

takouma

XLDnaute Nouveau
Oups.....
Je t'envoie le même fichier zippé

A+

Takouma [file name=text_to_figure.zip size=1605]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/text_to_figure.zip[/file]
 

Pièces jointes

  • text_to_figure.zip
    1.6 KB · Affichages: 24

takouma

XLDnaute Nouveau
Exact....
Tu m'as intrigué avec tes CAR et j'ai trouvé comment savoir le caractère ascii utilisé. Il s'agit bien de CAR (160).
Mais du coup, je ne connais pas la touche utilisée. Comment on fait dans find and replace pour mettre ce caractère?

Takouma
 
J

JJ59

Guest
Bonjour à tous.


La fonction CNUM permet de transformer les caractères en nombre.

Attention à la virgule il faut la changer en point.

Cnum(xx)
xx= referencve cellule à transformer

Bonne journée

JJ59
 

andré

XLDnaute Barbatruc
Re,

Préliminaire : par défaut j'ai sur mon PC le . (point) comme séparateur de décimales et l'espace comme séparateur de milliers.

J'ai vu qu'il y a un mélange de . (point) et , (virgule) comme séparateur de décimales.
J'ai donc remplacé les , (virgule) par des . (point)
Chez toi, il faudra peut-être faire le contraire.

Ensuite j'ai aussi vu qu'il y a des CAR(160) comme séparateurs de milliers.
J'ai sélectionné la colonne A et par le menu Edition / Remplacer j'ai remplacé les CAR(160) par rien.
Mais là se trouve l'astuce : si tu cherches des CAR(160), XL ne les trouve pas.
Il faut taper ALT+0160 (tenir la touche enfoncée pendant que tu tapes 0160), rien ne s'affiche, pas de problème, tu fais OK et tout est en ordre.

Ândré.
 

takouma

XLDnaute Nouveau
Alors là, chapeau.....
C'est toi le meilleur. Je cherchais désespérément à reproduire le car(160) par une touche. J'étais partie sur lune recherche internet sur l'ascii étendue..... Jamais je n'aurais pensé faire comme ça.

Super.


Bonne journée à toi
Takouma
 

Discussions similaires

Statistiques des forums

Discussions
312 839
Messages
2 092 678
Membres
105 508
dernier inscrit
Albator