Formatage excel d'un fichier texte : décalage colonne

clouistiti Messages postés 2 Date d'inscription jeudi 20 septembre 2007 Statut Membre Dernière intervention 21 septembre 2007 - 20 sept. 2007 à 21:15
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 - 21 sept. 2007 à 11:58
Bonjour,

Help needed ! Je formate un fichier .txt en fichier excel. Pour certains enregistrements, les zones sont alimentées et pour d'autres les zones sont à blanc. Cela entraîne lors du formatage un décalage partiel de mes colonnes. Que faut-il faire ?!?
Voilà le code : j'ai essayé de joué avec les variable variant ms ça ne fait rien !
 ChDir "D:\Documents and Settings\S083417\Desktop"    Workbooks.OpenText Filename:= _

        "D:\Documents and Settings\S083417\Desktop\LF99FEVRIER2004.TXT", Origin _

        :=932, StartRow:=1, DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, 9), _

        Array(12, 2), Array(13, 2), Array(29, 2), Array(38, 2), Array(40, 9), Array(42 _

        , 2), Array(44, 2), Array(52, 9), Array(563, 2), _

        Array(566, 2), Array(567, 9), Array(572, 2), _

        Array(575, 2), Array(578, 2), Array(581, 9), _

        Array(586, 2), Array(638, 2), Array(670, 2), _

        Array(805, 2), Array(806, 2), Array(817, 2), Array(828, 2), Array(839, 2), Array(845, 2), _

        Array(856, 2), Array(867, 2), Array(894, 2), Array(905, 2), Array(916, 2), Array(927, 2), _

        Array(938, 2), Array(949, 2), Array(955, 2), Array(966, 9)), TrailingMinusNumbers:=True

    ActiveWindow.SmallScroll Down:=-12

    Rows("16:16").Select

    ActiveWindow.SmallScroll Down:=-12

Voilà ce que ça me donne :
Date de mouvement, Code rôle, Code tête, Nombre de bénéficiaires,  ,  , Nom et prénom du bénéficiaire, ----
20031105,  ,  , 010, 010, 00M, UPUIS CHANTAL                                      C, ----
20031231,  ,  , 010, 010, 00M, EMAITRE FRANCOISE                                  V, ----
20031005, 310, 1, 007, 001, 000, HEISER BRIGITTE, ----
20031111, 310, 1, 001, 001, 000, BIOUX JEAN PASCAL

Merci d'avance pour l'aide que vous pourrez m'apporter ;-)
Cdlt,
Clouistiti

5 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
20 sept. 2007 à 21:22
Salut,

Quel est le rapport avec DirectX ???????????????

Ca peut arriver qu'on ne sache pas quel langage on utilise, mais là faut pas pousser !!!!

Je déplace vers le forum approprié !
______________________________________
DarK Sidious
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
20 sept. 2007 à 23:50
Dans ton code (probablement généré par l'enregistreur de macro), il y a ceci
 ... DataType:=xlFixedWidth ...
es-tu certain que l'espacement est fixe ?
Il n'y a aucun délimiteur ? virgule, point-virgule, tabulation,... ?

MPi
0
clouistiti Messages postés 2 Date d'inscription jeudi 20 septembre 2007 Statut Membre Dernière intervention 21 septembre 2007
21 sept. 2007 à 08:10
Merci MPi pour cet élément de réponse.
Je n'ai aucun délimiteur mais des variables non alimentées par endroit.
J'ai essayé de jouer avec le paramètre variant ms ça ne donne rien.;-(

@+
0
JM247L Messages postés 443 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 1 mars 2011 2
21 sept. 2007 à 09:41
Bonjour,
Le plus simple serait de tester avec ton fichier
Adresse le, si possible, à [mailto:jml_exchange@yahoo.fr jml_exchange@yahoo.fr]
 Cliquer "Réponse Acceptée" Quand Réponse OK

JML. Partageons notre savoir et nos acquis
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
21 sept. 2007 à 11:58
Qu'entends-tu par "variables non alimentées par endroit" ?
Le fichier est généré par ton code ? et chaque champ est écrit sauf s'il est vide ?
Si c'est ça, tu devrais écrire le fichier en utilisant des séparateurs, et ce, même si le champ est vide.
De cette manière, tu sauras toujours où tu en es lors de la lecture.

MPi
0
Rejoignez-nous