Ouvrir fichier text par excel et forcer le format en même temps

flint6593

XLDnaute Occasionnel
Bonjour à tous!
Alors voilà, j'ouvre par macro un fichier txt dans Excel.

J'utilise la méthode suivante:

Workbooks.OpenText Filename:=file, Origin:=xlWindows, StartRow:=1 _
, DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, 1), Array(1, 1), Array(5, 1) _
, Array(6, 1), Array(22, 1), Array(23, 1), Array(42, 1), Array(43, 1), Array(58, 1)), TrailingMinusNumbers:=True

Mon problème est que je voudrait forcer le format en STANDARD.
Avec mon code Excel défini les formats de cellules par défaut: Standard, Scientifique, ...
Ce qui fait que je perd mes format.
Savez-vous comment je peux faire pour forcer le format STANDARD???

Si je le force après ouverture, j'ai déjà perdu l'info...

Merci d'avance pour votre aide!!!!

Flint
 

sousou

XLDnaute Barbatruc
Re : Ouvrir fichier text par excel et forcer le format en même temps

Bonjour
Vue le nombre de paramètres de cette méthode,
as-tu essayé d'enregistrer ta macro avec l'enregistreur comme cela tu as tous les paramêtres.
Il ne te reste plus qu'a l'intégrer dans ton code en modifiant éventuellement si tu utilise des variables.
 

MJ13

XLDnaute Barbatruc
Re : Ouvrir fichier text par excel et forcer le format en même temps

Bonjour à tous

C'est très complexe ces histoires de conversion.

Sinon, avec un petit fichier txt sans données confidentielles avec le fichier Excel de ce que tu veux obtenir, ce serait plus facle pour t'aider.
 

Pierrot93

XLDnaute Barbatruc
Re : Ouvrir fichier text par excel et forcer le format en même temps

Bonjour,

La selection au format "STANDARD" n'apparaît pas dans le code enregistré...
si...si...
ce que donne l'aide vba sur l'argument "fieldinfo" :
Code:
FieldInfo     Argument xlColumnDataType facultatif.  Tableau contenant des informations de distribution pour des colonnes de données individuelles. L'interprétation dépend de la valeur de DataType. Lorsque les données sont séparées, cet argument est un tableau de tableaux à deux éléments, qui indiquent les options de conversion pour une colonne particulière. Le premier élément est le numéro de la colonne (base 1) et le deuxième élément est l'une des constantes XlColumnDataType indiquant comment la colonne est distribuée.

XlColumnDataType peut être l'une de ces constantes XlColumnDataType. 
xlGeneralFormat  Général 
xlTextFormat  Texte 
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  Date EMD
xlSkipColumn  Non distribuée

constantes => valeurs
Code:
xlDMYFormat  4 
xlDYMFormat  7 
xlEMDFormat  10 
xlGeneralFormat  1 
xlMDYFormat  3 
xlMYDFormat  6 
xlSkipColumn  9 
xlTextFormat  2 
xlYDMFormat  8 
xlYMDFormat  5

bon après midi
@+
 

flint6593

XLDnaute Occasionnel
Re : Ouvrir fichier text par excel et forcer le format en même temps

Bonjour,
Je vous met un exemple du fichier txt de base, et de ce que j'ai et ce que je veux dans l'excel.
Les références de la colonne D sont mal gérées.
Vu qu'il y a un E dans la référence, il me l'ouvre en tant que format scientifique... Et à partir de là je perd l'info...

Merci encore pour votre aide!!!!
 

Pièces jointes

  • essai.txt
    1 KB · Affichages: 58
  • essai.xlsx
    13.6 KB · Affichages: 61
  • essai.txt
    1 KB · Affichages: 64
  • essai.xlsx
    13.6 KB · Affichages: 70
  • essai.txt
    1 KB · Affichages: 65
  • essai.xlsx
    13.6 KB · Affichages: 64

flint6593

XLDnaute Occasionnel
Re : Ouvrir fichier text par excel et forcer le format en même temps

Bonjour à tous!!!
Merci Pierrot93, comme à chaque fois c'est parfait!!!
Je connaissais pas ça, et j'avais pas été voir dans l'aide... Sorry!!
Sujet clos!!!!
Merci encore!!!!!!!
 

MJ13

XLDnaute Barbatruc
Re : Ouvrir fichier text par excel et forcer le format en même temps

Re

Bon, ben , puisqu'il s'en est allé :confused:.

J'ai testé ce code fait avec l'enregistreur de macro:

Code:
Sub Macro4()
'
' Macro3 Macro
'
'
    Workbooks.OpenText Filename:="C:\Users\user\User\essai.txt", Origin:= _
        xlMSDOS, StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote _
        , ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:= _
        False, Space:=False, Other:=True, OtherChar:="|", FieldInfo:=Array( _
        Array(1, 1), Array(2, 2), Array(3, 1), Array(4, 1)), TrailingMinusNumbers:=True
    Columns("B:B").EntireColumn.AutoFit
End Sub
 

MJ13

XLDnaute Barbatruc
Re : Ouvrir fichier text par excel et forcer le format en même temps

Bonjour à tous

J'ai à peu près compris le sytéme en reprenant l'aide fournie par Pierrot :):

ex:
Code:
FieldInfo:=Array( _
Array(1, 1), Array(2, 2), Array(3, 1), Array(4, 1))

Chaque colonne (premier chiffre de l'array) à son type de de format. Ici, pour le second, on peut mettre 1 pour format général et 2 pour format texte. Remarquez, heureusement que Henry nous aide :eek:.

xlDMYFormat 4
xlDYMFormat 7
xlEMDFormat 10
xlGeneralFormat 1
xlMDYFormat 3
xlMYDFormat 6
xlSkipColumn 9
xlTextFormat 2
xlYDMFormat 8
xlYMDFormat 5
 

Discussions similaires

Réponses
13
Affichages
1 K

Statistiques des forums

Discussions
312 111
Messages
2 085 405
Membres
102 883
dernier inscrit
jameseyz