Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

pb de format de date - macro VS ouverture manuelle d'un fichier txt....

4 réponses
Avatar
a.lagolep
Salut,

J'ai l'impresison que beaucoup de personnes on deja rencontr=E9 ce
probleme.... Mais je n'ai pas reussi =E0 trouver une solution....
j'ai un fichier txt qui contient ce genre de conn=E9es :

03/10/06 11:53:54;champ1;champ2;champ3
29/09/06 16:09:48;champ1;champ2;champ3
14/09/06 06:24:35;champ1;champ2;champ3
08/09/06 10:56:45;champ1;champ2;champ3
.=2E...

Si j'improte manuellement, pas de probleme.
Si maintenanct J'enregistre et je rejoue la macro d'importation... Plus
rien ne va. les lignes 1 et 4 ont le format de date qui s'est invers=E9
=E0 l'am=E9ricaine, et les lignes 2 et 3 n'ont pas =E9t=E9 reconnues comme
des dates... (elles sont align=E9es =E0 gauche comme du texte)

voici le r=E9sultats

10/03/2006 11:53 champ1 champ2 champ3
29/09/06 16:09:48 champ1 champ2 champ3
14/09/06 06:24:35 champ1 champ2 champ3
09/08/2006 10:56 champ1 champ2 champ3


Est ce que quelqu'un a une solution =E0 =E7a ?????? Pour info, en jouant
et changeant le format d'import de la premiere colonne, j'ai reussi a
avoir tout import=E9 en format texte...mais bon, il me faudrait une
petite macro qui maintenant me mette toute la colonne au bon format
date...

pour info : Le code g=E9n=E9r=E9 est :

Workbooks.OpenText Filename:=3D _
fileToOpen, Origin:=3D437, _
StartRow:=3D1, DataType:=3DxlDelimited,
TextQualifier:=3DxlDoubleQuote, _
ConsecutiveDelimiter:=3DFalse, Tab:=3DTrue, Semicolon:=3DTrue,
Comma:=3DFalse, _
Space:=3DFalse, Other:=3DFalse, FieldInfo:=3DArray(Array(1, 1),
Array(2, 1), Array( _
3, 1), Array(4, 1)), TrailingMinusNumbers:=3DTrue



merci,

AL.

4 réponses

Avatar
MichDenis
Voici un bout de code générée par l'enregistreur macro
quand on ouvre un fichier .txt

Workbooks.OpenText Filename:="C:test.txt", Origin:=xlWindows, StartRow _
:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:úlse, Tab:=True, Semicolon:úlse, Comma:úlse _
, Space:úlse, Other:úlse, FieldInfo:=Array(Array(1, 1), Array(2, 4)), _
TrailingMinusNumbers:=True

Si tu vas dans l'aide de vba sous la rubrique OpenText
prend connaissance du paramètre FieldInfo , c'est ta planche de salut.

FieldInfo:=Array(Array(1, 1), Array(2, 4))

Le premier chiffre = No de colonne de ta plage
le deuxième chiffre = Format attribué à la colonne.

La suite dans l'aide ....



a écrit dans le message de news:

Salut,

J'ai l'impresison que beaucoup de personnes on deja rencontré ce
probleme.... Mais je n'ai pas reussi à trouver une solution....
j'ai un fichier txt qui contient ce genre de connées :

03/10/06 11:53:54;champ1;champ2;champ3
29/09/06 16:09:48;champ1;champ2;champ3
14/09/06 06:24:35;champ1;champ2;champ3
08/09/06 10:56:45;champ1;champ2;champ3
.....

Si j'improte manuellement, pas de probleme.
Si maintenanct J'enregistre et je rejoue la macro d'importation... Plus
rien ne va. les lignes 1 et 4 ont le format de date qui s'est inversé
à l'américaine, et les lignes 2 et 3 n'ont pas été reconnues comme
des dates... (elles sont alignées à gauche comme du texte)

voici le résultats

10/03/2006 11:53 champ1 champ2 champ3
29/09/06 16:09:48 champ1 champ2 champ3
14/09/06 06:24:35 champ1 champ2 champ3
09/08/2006 10:56 champ1 champ2 champ3


Est ce que quelqu'un a une solution à ça ?????? Pour info, en jouant
et changeant le format d'import de la premiere colonne, j'ai reussi a
avoir tout importé en format texte...mais bon, il me faudrait une
petite macro qui maintenant me mette toute la colonne au bon format
date...

pour info : Le code généré est :

Workbooks.OpenText Filename:= _
fileToOpen, Origin:C7, _
StartRow:=1, DataType:=xlDelimited,
TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:úlse, Tab:=True, Semicolon:=True,
Comma:úlse, _
Space:úlse, Other:úlse, FieldInfo:=Array(Array(1, 1),
Array(2, 1), Array( _
3, 1), Array(4, 1)), TrailingMinusNumbers:=True



merci,

AL.
Avatar
Modeste
Bonsour® avec ferveur ;o))) vous nous disiez :

Pour info, en jouant
et changeant le format d'import de la premiere colonne, j'ai reussi a
avoir tout importé en format texte...mais bon, il me faudrait une
petite macro qui maintenant me mette toute la colonne au bon format
date...

pour info : Le code généré est :

Workbooks.OpenText Filename:= _
fileToOpen, Origin:C7, _
StartRow:=1, DataType:=xlDelimited,
TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:úlse, Tab:=True, Semicolon:=True,
Comma:úlse, _
Space:úlse, Other:úlse, FieldInfo:=Array(Array(1, 1),
Array(2, 1), Array( _
3, 1), Array(4, 1)), TrailingMinusNumbers:=True, Local=true


il faut ajouter le parametre Local=True ==============^^^^^^
--
--
@+
;o)))

Avatar
MichDenis
| il faut ajouter le paramètre Local=True ==============^^^^^^

Requiert une version Excel 2002 ou plus récent

Sans ce parametre, en s'amusant avec les paramètres des "array(1,2)" de FieldInfo
on obtient le même résultat, toute version confondue sans faire appel à Local:=True

bon, question de choix et de son environnement
;-)






"Modeste" a écrit dans le message de news:

Bonsour® avec ferveur ;o))) vous nous disiez :

Pour info, en jouant
et changeant le format d'import de la premiere colonne, j'ai reussi a
avoir tout importé en format texte...mais bon, il me faudrait une
petite macro qui maintenant me mette toute la colonne au bon format
date...

pour info : Le code généré est :

Workbooks.OpenText Filename:= _
fileToOpen, Origin:C7, _
StartRow:=1, DataType:=xlDelimited,
TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:úlse, Tab:=True, Semicolon:=True,
Comma:úlse, _
Space:úlse, Other:úlse, FieldInfo:=Array(Array(1, 1),
Array(2, 1), Array( _
3, 1), Array(4, 1)), TrailingMinusNumbers:=True, Local=true


il faut ajouter le parametre Local=True ==============^^^^^^
--
--
@+
;o)))

Avatar
a.lagolep
Salut,

Alors apres expérimentation, ce qui fonctionne, c'est la combinaison
des 2....
array (1,4) + local=true.

Si je ne met pas local=true, je me retrouve avec un mix... des dates en
format date mais americain, et des dates au format texte.
Avec les 2 pas de probleme !

Merci !!!

AL







| il faut ajouter le paramètre Local=True ========= =====^^^^^^

Requiert une version Excel 2002 ou plus récent

Sans ce parametre, en s'amusant avec les paramètres des "array(1,2)" de FieldInfo
on obtient le même résultat, toute version confondue sans faire appel à Local:=True

bon, question de choix et de son environnement
;-)






"Modeste" a écrit dans le message de news:

Bonsour® avec ferveur ;o))) vous nous disiez :

Pour info, en jouant
et changeant le format d'import de la premiere colonne, j'ai reussi a
avoir tout importé en format texte...mais bon, il me faudrait une
petite macro qui maintenant me mette toute la colonne au bon format
date...

pour info : Le code généré est :

Workbooks.OpenText Filename:= _
fileToOpen, Origin:C7, _
StartRow:=1, DataType:=xlDelimited,
TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:úlse, Tab:=True, Semicolon:=True,
Comma:úlse, _
Space:úlse, Other:úlse, FieldInfo:=Array(Array(1, 1),
Array(2, 1), Array( _
3, 1), Array(4, 1)), TrailingMinusNumbers:=True, Local=true


il faut ajouter le parametre Local=True ========== ====^^^^^^
--
--
@+
;o)))