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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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.
 
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.
 
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
@+
 
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

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!!!!!!!
 
Re : Ouvrir fichier text par excel et forcer le format en même temps

Re

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

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
 
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 😱.

xlDMYFormat 4
xlDYMFormat 7
xlEMDFormat 10
xlGeneralFormat 1
xlMDYFormat 3
xlMYDFormat 6
xlSkipColumn 9
xlTextFormat 2
xlYDMFormat 8
xlYMDFormat 5
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
13
Affichages
1 K
Réponses
4
Affichages
1 K
Retour