Conversion fich. text - Différence de résultat

Messages postés
50
Date d'inscription
lundi 6 mars 2006
Statut
Membre
Dernière intervention
29 novembre 2010
-
Messages postés
50
Date d'inscription
lundi 6 mars 2006
Statut
Membre
Dernière intervention
29 novembre 2010
-
Bonjour,

J'ai un petit soucis avec excel queje n'arrive pas à m'expliquer :

j'ai un fichier texte avec des lettres et des nombres.
certains nombres représentent des dates.

quand je convertis à la "main" mon fichier texte dans excel en fixant la largeur des colonnes, ces nombres en question sont convertis en date. Tout va bien...

si maintenant sur ce même fichier texte, j'applique strictement la même procédure sous une macro, dans la colonne, certains de ces nombres ont le format date d'autres sont sans format !
si je refais la même manip plusieurs fois, ce sont toujours les mêmes cellules qui sont sans format (via la macro).

La macro me fait juste la conversion. Elle n'est pas tarabiscotée : c'st juste la même manip que celle faite à la mano !

je ne comprends pas pourquoi le résultat est différent !

merci de votre aide.

5 réponses

Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut,

je comprends pas trop ce que tu veux faire...
et "tarabiscotée", mon dictionnaire ne connait pas !

Bref, Excel, au niveau date, c'est en français (jj/mm/aaaa), en vba, c'est anglais (dd/mm/yyyy).

Il se peut donc que des choses "faite à la main" soit différente des choses faite en programmation.

Sois plus précis pour avoir de l'aide, et pense à l'enregistreur de macro, comme l'a précisé BruNews dans un Topic récent !

++
mortalino
Messages postés
50
Date d'inscription
lundi 6 mars 2006
Statut
Membre
Dernière intervention
29 novembre 2010

mortalino,
merci pour ta réponse.
désolé pour "tarabiscotée" , je voulais dire "pas compliquée".
j'ai utlisé l'enregistreur de macro justement... et ça me donne un résultat différent entre la manip faite à la main et la macro enregistrée.
si c'était un pb de format, je pense que dans la même colonne, les cellules auraient le même format (sans ou avec la macro), or avec la macro, le format des cellules qui se suivent dans la même colonne est différent, alors qu'à la base dans la colonne j'ai des dates...

Avec les données si desous, en colonnes "i" , "j", "k" et "l", on doit avoir en final des dates après conversion du fichier texte.

Voici un extrait du fichier :

<col style=\"width: 60pt;\" width=\"80\" />----
    1 ST1 1M* D0001 D01    1 T   
1       26/11/86  31/03/87 
25/02/87  31/12/10 320-111   00           F                          
CFM56-5A1         , ----
    2 ST1 1M* AFR01 AF1   17 T   
2       05/01/87  21/11/90 
26/11/90  08/02/91 320-111   00 
NAFR017  F   AFR E                   CFM56-5A1         , ----
    3 ST1 1M* ITF01 IT1   10 T   
3       08/01/87  17/07/89 
17/07/89  30/10/89 320-111   00 
NITF010  F   ITF B  
M               CFM56-5A1         , ----
    4 ST1 1M* ITF01 IT1    9 T   
8       13/05/87  30/11/87 
26/11/87  03/06/88 320-111   00 
NITF009  F   ITF B  
M               CFM56-5A1         , ----
    5 ST1 1M* AFR01 AF1    1 T  
10       03/08/87  12/01/88 
19/01/88  17/06/88 320-111   00 
NAFR001  F   AFR E                   CFM56-5A1         , ----
                                                                                                                                                     
, ----
    6 ST1 1M* BCA01 BR1    1 T   
4       03/08/87  21/04/89 
06/01/88  07/07/89 320-111   00 
NBAW001  F   BAW B                   CFM56-5A1         , ----
    7 ST1 1M* AFR01 AF1    2 T   
5       13/02/87  11/03/88 
24/04/89  26/03/88 320-111   00 
NAFR002  F   AFR E                   CFM56-5A1         , ----
    8 ST1 1M* BCA01 BR1    2 T   
6       16/03/87  28/10/87 
15/10/87  20/04/88 320-111   00 
NBAW002  F   BAW B                   CFM56-5A1         , ----
    9 ST1 1M* AFR01 AF1    3 T   
7       09/04/87  09/11/87 
09/11/87  11/05/88 320-111   00 
NAFR003  F   AFR E                   CFM56-5A1         , ----
   10 ST1 1M* ITF01 IT1    1 T   
9       11/06/87  16/12/87 
04/12/87  24/06/88 320-111   00 
NITF001  F   ITF B  
M               CFM56-5A1         , ----
                                                                                                                                                     
, ----
   11 ST1 1M* BCA01 BR1    3 T  
11       26/08/87  14/01/88 
05/02/88  22/07/88 320-111   00 
NBAW003  F   BAW B                   CFM56-5A1         , ----
   12 ST1 1M* ITF01 IT1    2 T  
12       17/09/87  28/01/88 
17/02/88  05/08/88 320-111   00 
NITF002  F   ITF B  
M               CFM56-5A1         , ----
   13 ST1 1M* ITF01 IT1    3 T  
13       09/10/87  27/07/88 
04/08/88  29/09/88 320-111   00 
NITF003  F   ITF B  
M               CFM56-5A1         , ----
   14 ST1 1M* AFR01 AF1    4 T  
14       27/10/87  03/08/88 
11/08/88  10/10/88 320-111   00 
NAFR004  F   AFR E                   CFM56-5A1         , ----
   15 ST1 1M* ITF01 IT1    4 T  
15       17/11/87  24/10/88 
04/11/88  22/12/88 320-111   00 
NITF004  F   ITF B  
M               CFM56-5A1         , ----
                                                                                                                                                     
, ----
   16 ST1 1M* ITF01 IT1    5 T  
16       02/12/87  05/01/89 
13/01/89  03/03/89 320-111   00 
NITF005  F   ITF B  
M               CFM56-5A1         , ----
   17 ST1 1M* BCA01 BR1    4 T  
17       16/12/87  03/10/88 
11/10/88  02/12/88 320-111   00 
NBAW004  F   BAW B                   CFM56-5A1         , ----
   18 ST1 1M* BCA01 BR1    5 T  
18       08/01/88  10/03/89 
20/03/89  26/05/89 320-111   00 
NBAW005  F   BAW B                   CFM56-5A1         , ----
   19 ST1 1M* AFR01 AF1    5 T  
19       22/01/88  31/08/88 
07/09/88  29/10/88 320-111   00 
NAFR005  F   AFR E                   CFM56-5A1         , ----
   20 ST1 1M* AFR01 AF1    6 T  
20       08/02/88  02/12/88 
09/12/88  03/02/89 320-111   00 
NAFR006  F   AFR E                   CFM56-5A1         , ----
                                                                                                                                                     
, ----
   21 ST1 1M* AFR01 AF1    7 T  
21       17/02/88  15/12/88 
20/12/88  17/02/89 320-111   00 
NAFR007  F   AFR E                   CFM56-5A1         , ----
   22 ST1 1M* AAA01 AN1    1 T  
22       01/03/88  16/06/88 
27/06/88  12/12/88 320-211   00 
NAAA001  F   AAA A  
M               CFM56-5A1         , ----
   23 ST1 1M* AAA01 AN1    2 T  
23       10/03/88  27/07/88 
08/08/88  18/11/88 320-211   00 
NAAA002  F   AAA A  
M               CFM56-5A1         , ----
   24 ST1 1M* AAA01 AN1    3 T  
24       22/03/88  06/09/88 
14/09/88  29/11/88 320-211   00 
NAAA003  F   AAA A  
M               CFM56-5A1         , ----
   25 ST1 1M* AAA01 AN1    4 T  
25       31/03/88  25/11/88 
05/12/88  15/03/89 320-211   00 
NAAA004  F   AAA A  
M               CFM56-5A1         , ----
                                                                                                                                                     
, ----
   26 ST1 1M* AAA01 AN1    5 T  
26       14/04/88  26/10/88 
09/11/88  19/01/89 320-211   00 
NAAA005  F   AAA A  
M               CFM56-5A1         , ----
   27 ST1 1M* AAA01 AN1    6 T  
27       25/04/88  18/11/88 
29/11/88  20/02/89 320-211   00 
NAAA006  F   AAA A  
M               CFM56-5A1         , ----
   28 ST1 11* CYP01 CY1    1 T  
28       04/05/88  18/01/89 
25/01/89  19/05/89 320-231   00 
NCYP001  F   CYP C                   V2500-A1          , ----
   29 ST1 1M* AAA01 AN1    7 T  
29       19/05/88  21/12/88 
05/01/89  21/04/89 320-211   00 
NAAA007  F   AAA A  
M               CFM56-5A1         , ----
   30 ST1 1M* AAA01 AN1    8 T  
30       02/06/88  11/01/89 
17/01/89  23/05/89 320-211   00 
NAAA008  F   AAA A  
M               CFM56-5A1        

et la macro (issue de l'enregistreur de macro) :

Sub Macro1()
   
    ActiveCell.Columns("A:A").EntireColumn.Select
    Selection.TextToColumns Destination:=ActiveCell, DataType:=xlFixedWidth, _
        FieldInfo:=Array(Array(0, 1), Array(5, 1), Array(9, 1), Array(13, 1), Array(19, 1), _
        Array(25, 1), Array(28, 1), Array(30, 1), Array(36, 1), Array(52, 1), Array(60, 1), Array( _
        72, 1), Array(80, 1), Array(91, 1), Array(95, 1), Array(102, 1), Array(106, 1), Array(111, 1 _
        ), Array(113, 1), Array(121, 1), Array(123, 1), Array(132, 1))
End Sub
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Re,

ben après ton importation, appelle cette procédure :

Sub Conversion_Date()
   
' *** modifie la sélection de colonne au besoin
    Columns("A:E").Select
   
' *** pour ce format de date, c'est parr ex, 21/08/06 ;
' *** pour avoir par exemple lundi 21 août 2006, mettre "[$-F800]dddd, mmmm dd, yyyy"
    Selection.NumberFormat = "mm/dd/yy"
   
End Sub

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
Messages postés
50
Date d'inscription
lundi 6 mars 2006
Statut
Membre
Dernière intervention
29 novembre 2010

salut,
une nouvelle fois , merci !
je vais ester dans la journée...

@+
Messages postés
50
Date d'inscription
lundi 6 mars 2006
Statut
Membre
Dernière intervention
29 novembre 2010

Re,
bon bé c'est pas bon.
mais j'ai trouvé pour m'en sortir :
je resélectionne les colonnes qui m'intéresse et je refais "convertir"... etc ... puis à un certain moment je fixe le format en précisant "date" !

voili !

@ + et encore merci