OVH Cloud OVH Cloud

Ne pas transformer "000012" en "12" à l'import?

3 réponses
Avatar
Boubahha
Bonjour

Tout d'abord, j'ai Excel 2003 (11.8012.6568) SP2, avec XP Home SP2

Je rencontre systématiquement le mm problème lorque je j'ouvre un fichier
cvs avec excel.

Ademttons qu'il soit composé de :

RUBRIQUE_1;RUBRIQUE_2
000012;459698

Excel va l'ouvrir et m'afficher

RUBRIQUE_1 RUBRIQUE_2
12 459698 (il supprime les "0" en trop)

Sauf que moi, j'ai besoin de garder tout ces zeros... Y-a-t-il un moyen que
Excel n'applique aucun formatage à ce genre de fichier?

Merci pour vos réponses!

3 réponses

Avatar
JB
Bonjour,

Après import:

Sub essai()
For Each c In Range("A2", [A65000].End(xlUp))
c.NumberFormat = "@"
c.Value = Format(c.Value, "00000")
Next c
End Sub

Cordialement JB
Avatar
michdenis
Bonjour Boubahha,

Voici 2 façons de faire :

Par macro :

'--------------------------------
Sub Ouvrir()

Dim Wk As Workbook
Set Wk = Workbooks.Open("c:t.csv")
Wk.Worksheets(1).Columns(1).TextToColumns Range("A1"), _
DataType:=xlDelimited, _
ConsecutiveDelimiter:=True, Semicolon:=True, _
FieldInfo:=Array(Array(1, 2), Array(2, 2), Array(3, 2), Array(4, 2))
Set Wk = Nothing

End Sub
'--------------------------------

La section importante de la macro est les "array"
Il y a autant d'array qu'il y a de colonnes dans ton fichier .csv
Chaque array a 2 éléments :
'Array(1, 1) = Le premier 1 = indique le numéro de la colonne'
' le deuxième 1 = le format que recevra la cellule ...

Tu peux obtenir de l'aide en cliquant sur Fieldinfo et en appuyant sur F1
La liste est ici :
xlGeneralFormat. Général
xlTextFormat. Texte ---> 2
xlMDYFormat. Format de date mois, jour, année
xlDMYFormat. Format de date jour, mois, année
xlYMDFormat. Format de date année, mois, jour
xlMYDFormat. Format de date mois, année, jour
xlDYMFormat. Format de date jour, année, mois
xlYDMFormat. Format de date année, jour, mois
xlEMDFormat. Format de date ère, mois, jour
xlSkipColumn. Non distribuée

Si tu tapes l'une des constantes dans la boîte de saisie de
l'explorateur d'objets de la fenêtre éditeur de macro, tu
vas obtenir la constante numérique dans le bas de la plage


Méthode II

Si tu veux pouvoir intervenir au niveau de l'ouverture d'un fichier .csv,
à partir de la commande "Fichier / ouvrir / transforme l'extension de
ton fichier .csv en .txt, tu vas pouvoir jouir de l'assistant et
déterminer toi-même, colonne par colonne le format le mieux adapté
à leur contenu.



Salutations!






"Boubahha" a écrit dans le message de news: 4423f8e3$0$3557$
Bonjour

Tout d'abord, j'ai Excel 2003 (11.8012.6568) SP2, avec XP Home SP2

Je rencontre systématiquement le mm problème lorque je j'ouvre un fichier
cvs avec excel.

Ademttons qu'il soit composé de :

RUBRIQUE_1;RUBRIQUE_2
000012;459698

Excel va l'ouvrir et m'afficher

RUBRIQUE_1 RUBRIQUE_2
12 459698 (il supprime les "0" en trop)

Sauf que moi, j'ai besoin de garder tout ces zeros... Y-a-t-il un moyen que
Excel n'applique aucun formatage à ce genre de fichier?

Merci pour vos réponses!
Avatar
eric_mermin
Salut,
A ta place, je renommerai mon fichier en ".txt" (au lieu de .csv) pour
garder la main lors de l'ouverture du fichier.
Ensuite, lors de l'ouverture du fichier, je choisirai "délimité" puis
"point-virgule" et dans le champ "00012", je remplacerai "standard" par
"texte"
a +
eric

Bonjour

Tout d'abord, j'ai Excel 2003 (11.8012.6568) SP2, avec XP Home SP2

Je rencontre systématiquement le mm problème lorque je j'ouvre un fichier
cvs avec excel.

Ademttons qu'il soit composé de :

RUBRIQUE_1;RUBRIQUE_2
000012;459698

Excel va l'ouvrir et m'afficher

RUBRIQUE_1 RUBRIQUE_2
12 459698 (il supprime les "0" en trop)

Sauf que moi, j'ai besoin de garder tout ces zeros... Y-a-t-il un moyen que
Excel n'applique aucun formatage à ce genre de fichier?

Merci pour vos réponses!