Fichiers CSV (Dates format texte) copier/coller/conversion

Bonjour,

Je suis devant un léger problème, je récupère des fichiers au format csv, je copie leur contenu, le colle et convetit pour lui redonner sa forme d'origine. Le soucis c'est que certains fichiers fonctionne correctement alors que certains décident qu'à partir d'un certain endroit la date n'en est plus une (alors qu'elle l'était sur le fichier d'origine).

D'un fichier à l'autre le problème apparait ou pas et là j'avoue que je vois pas du tout de quoi cela peut venir.

date1 date2

Je joint le fichier avec le programme et les 2 fichiers .csv.

(Utiliser Forum comme utilisateur)

33sytel-forum.xlsm (63.10 Ko)
21test11-544a-s02.csv (11.56 Ko)

Bonjour,

tout dépend de la méthode employée pour importer les données … (poster le code)

En répondant bien à l'assistant de conversion d'une QueryTable ou de la fonctionnalité Convertir du menu Données par exemple,

le Générateur de macros livre le paramétrage sur un plateau !

Via d'autres méthodes, il suffit de formater les cellules au format Date avant d'y coller les données …

Salut Marc L,

J'ai utilisé le code que m'a fourni Excel pour gérer l'entassement des données colonne A avec un ";" comme séparateur (juste après le copier/coller) :

      Columns("A:A").TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
      TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
      Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
      :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
      Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)), TrailingMinusNumbers:=True

Donc le Générateur n'y est pour rien : mauvaise utilisation de l'assistant car toutes les colonnes sont au format Standard !

Deux solutions :

• soit générer un nouveau code en répondant bien cette fois à l'assistant concernant notamment le format des colonnes;

• soit consulter l'aide VBA de la méthode TextToColumns concernant son paramètre FieldInfo et corriger le code …

Du coup je viens de changer le format de la colonne DATE, avant le copier/coller, il semble que cela fonctionne, j'essai sur plusieurs autres fichiers et on va voir si cela suffi.

Apparement non, je vais essayer un truc, sur le papier c'est débile, mais tant qu'on essai pas... étant donné que lorsque je resauvegarde les fichiers csv ça a l'air de fonctionner ...

Ok donc le problème ne viens pas du programme, c'est les fichiers csv qui sont sauvegardés à la base par le banc de test comme des sagouins, ça ne semble arriver que sur les vieux fichiers je pense que c'est dù aux rebootages lors des arrêts ou des plantages des bancs de test, après c'est du domaine matériel et là je peux pas faire grand chose (voilà le problème):

21,24/11/13,"CHARGE 24 h at 0,05C ",,,,,,

21,24/11/13, maximum voltage in charge,V,"14,463","14,479","14,439","1,446","0,002"

21,24/11/13, end of charge voltage,V,"14,459","14,477","14,439","14,458","0,0019"

21,7/2/2014,"CHARGE 3 mn at 0,1A",,,,,,

21,7/2/2014, maximum voltage in charge,V,"14,168","14,236","14,128","14,177","0,0055"

21,7/2/2014, end of charge voltage,V,"14,168","14,236","14,128","14,177","0,0054"

en tout cas merci d'avoir regardé

Déjà commencer par corriger la procédure d'importation (aucune colonne définie en date !) puis tester, sait-on jamais …

Sinon joindre un fichier de sagouin pour voir …

Je viens de me replonger sur le problème, si tu laisse la colonne des dates en standard on a le problème, si par contre tu convertis en mettant la colonne des dates en Dates JMA ça fonctionne, je ne sais pas pourquoi Excel ne normalise pas dans l'autre cas (Dans mon code de conversion ça change juste cette instruction Array(2, 4)

Finalement me fallait juste une bonne grosse pause et m'y remettre 5 min pour que sa passe.

Merci du coup de main.

Rechercher des sujets similaires à "fichiers csv dates format texte copier coller conversion"