Comment éviter la conversion du texte en nombre d'un fichier csv

enzostar

XLDnaute Nouveau
Bonjour,
lorsque j'ouvre un fichier csv, une colonne de texte (qui contient des références numériques bien délimitées par "") est convertie en nombre.
Ma référence qui était donc dans le fichier csv "000250" se transforme en 250.
Comment éviter cela ?
Merci pour votre aide
 

MJ13

XLDnaute Barbatruc
Re : Comment éviter la conversion du texte en nombre d'un fichier csv

Re

J'ai essayé d'ouvrir mon fichier dont l'extension a été changée en ".txt" mais pas d'assistant qui se lance ...

Il faudrait savoir pourquoi tu n'as pas d'assistant :confused:

Sinon, quelle est ta version d'Excel ?

Ou mieux, envoie un fichier .csv sans données confidentielles pour qu'on puisse voir ce qui se passe (pour moi, c'est la base d'XLD pour ne pas se prendre la tête et ne pas tergiverser dans tous les sens:eek:).
 

enzostar

XLDnaute Nouveau
Re : Comment éviter la conversion du texte en nombre d'un fichier csv

voici un exemple de fichier.
J'utilise excel 2010 mais je viens de me rendre compte que pour bénéficier de l'assistant, il faut faire ouvrir, choisir le type de fichier et choisir le fichier et là ça marche. Je pensais que le double clic sur le fichier lançait directement l'assistant.
Je joins un fichier.
Merci encore pour votre aide
 
Dernière édition:

enzostar

XLDnaute Nouveau
Re : Comment éviter la conversion du texte en nombre d'un fichier csv

voila la pièce jointe... La première colonne de la deuxième ligne de donnée devrait afficher 000250
J'ai converti le fichier qui était à la base en .csv car l'extension n'est pas acceptée dans le forum apparemment
 

Pièces jointes

  • xl.xlsx
    5.2 KB · Affichages: 59

supercrapaud

XLDnaute Occasionnel
Re : Comment éviter la conversion du texte en nombre d'un fichier csv

OK j'avais pas vu ^^. Ce que tu peux faire c'est une manip simple : au lieu de mettre tes nombres entre guillemets, mets juste dans ton fichiers CVS une apostrohpe devant ton nombre, de cette façon il sera considéré comme du texte et lorsque tu l'ouvrira sous excel, il ne changera pas.
 

enzostar

XLDnaute Nouveau
Re : Comment éviter la conversion du texte en nombre d'un fichier csv

OK j'avais pas vu ^^. Ce que tu peux faire c'est une manip simple : au lieu de mettre tes nombres entre guillemets, mets juste dans ton fichiers CVS une apostrohpe devant ton nombre, de cette façon il sera considéré comme du texte et lorsque tu l'ouvrira sous excel, il ne changera pas.
Avec ta méthode les apostrophes restent visibles et sont donc considérés comme du texte, enfin si j'ai bien suivi tes instructions
 

supercrapaud

XLDnaute Occasionnel
Re : Comment éviter la conversion du texte en nombre d'un fichier csv

Non, si tu saisis ton apostrophe puis ton nombre, elle ne va pas apparaître juste ton nombre et Excel te mettra une balise où il te dira qu'il s'agit d'un nombre stocké sous forme de texte. Tu n'auras plus qu'a tout sélectionner et faire ingorer l'erreur (pas obligé de faire ça si les balises te gênes pas).
 

supercrapaud

XLDnaute Occasionnel
Re : Comment éviter la conversion du texte en nombre d'un fichier csv

tu devras juste écrire '250 par exemple et cela apparaîtra 250 aligné à gauche avec la balise car considéré comme du texte. pour Open Office j'en sais, j'aime pas on peux rien faire dessus (mais c'est juste mon avis).P
 

enzostar

XLDnaute Nouveau
Re : Comment éviter la conversion du texte en nombre d'un fichier csv

je suis désolé mais j'ai bien l'apostrophe qui s'affiche. De plus, mes données étant générées depuis un système informatique je ne suis pas en mesure de placer une apostrophe devant la référence quand il y a un risque d'ambiguité.
 

MJ13

XLDnaute Barbatruc
Re : Comment éviter la conversion du texte en nombre d'un fichier csv

Re

Bon l'idée de SuperCrapaud peut permettre de solutionner ces problèmes dans certains cas, mais en général, 90 % de ce type de problème provient de l'importation de données issues de logiciels autre qu'Excel.

Pour commencer, il faut, pour aider absolument avoir le fichier .Csv qu'il te suffit de zipper pour qu'il passe sur Xld.

Ensuite seul des tests pourront dire si c'est possible.
 

MJ13

XLDnaute Barbatruc
Re : Comment éviter la conversion du texte en nombre d'un fichier csv

Re

Bon, il est vrai que cela pose des problèmes ce genre de fichier, car cela fonctionne sur un txt mais en renommant en .csv, il ya des problèmes de conversion et la, comme souvent, c'est la galère pour trouver les bons arguments :eek:.

En reprenant mon idée de départ,comme un Csv est un Txt qui s'ignore, teste cette macro qui renomme le csv en txt avant l'importation que tu mets sur ton C:\Temp pour faire le test.

Code:
Sub Importe_CSV_renomme_TXT()
'A tester
Name "C:\Temp\test2.csv" As "C:\Dossier\test2.txt"
    Workbooks.OpenText Filename:= _
        "C:\Temp\test2.txt", Origin:=xlWindows, _
        StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
        ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False _
        , Space:=False, Other:=True, OtherChar:=";", FieldInfo:=Array(Array(1, 2 _
        ), Array(2, 2), Array(3, 2), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), _
        Array(9, 1), Array(10, 1)), TrailingMinusNumbers:=True
        End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 305
Messages
2 087 084
Membres
103 458
dernier inscrit
Vulgaris workshop