Besoin d'un expert : Pb de gestion de date VB/excel
pier0
Messages postés67Date d'inscriptionmardi 19 juillet 2005StatutMembreDernière intervention 2 septembre 2005
-
12 août 2005 à 14:35
cs_etniqs
Messages postés201Date d'inscriptionmardi 7 octobre 2003StatutMembreDernière intervention10 mai 2016
-
12 déc. 2009 à 12:45
Salut,
Je reviens à la charge suite à un pb que j'ai déja évoqué sur le forum de nombreuse fois et qui reste malheuresement toujours sans réponse.
Je résume mon prog VB:
Je recupère un report.csv provenant d'une base de donnée (fichier contenant des valeurs de champs).
Ce report contient des dates en format de date francais.
Ensuite je convertis le report.csv pour mettre les données sous une forme de tableau. Ensuite je fais une copie de ce tableau sur une feuille excel d'un autre fichier excel puis je sauvegarde ce fichier excel.
Enfin j'ai du effectué une macro qui teste les contenu des cellules contenant des dates et les colories selon différent critères.
Et la je suis tombé sur un pb qui me bloque depui plusieurs jours!!!!
Toutes les dates apparaissent dans le bon ordre sur le tableau excel (quand on visualise avec excel): j'entend par bon odre le bon format, à savoir pour moi:
01/08/05 ( le 1er aout 2005) mais qd on clique sur la cellule ou qu'on regarde
dans la barre de formules c'est le drame:
la date se présente sous la forme: 08/01/2005 18:00:00
D'ou un pb dans mon programme car mon traitement sur les dates est erroné puisque les jours et les mois sont inversés!!! (dans ma fonction VB j'utilise des trucs du type: Worksheets("Résultats de comparaison").Cells(i, j).Value
et evidemment ca me prend ce qu'il ya dans la barre des formules)
J'ai essayé des trucs du genre dat = Format(dat, "dd/mm/yyyy") mais ca me donne
tj le mopis en premier, je comprend tj pas pourkoi!!
Je suis vraiment désespéré, si quelqu'un pouvait me sortir de cette galère ca serait vraiment bien.
Merci d'avance, Pier0
Rq:
Personnelement je pense que le pb c'est que vb est en anglais donc format de date anglais alors que dans le report.csv les dates sont en francais. Sans doute excel doit "croire" dans les dates de mon ex que dans 01/08/05:
01 est le mois
08 le jours
d'ou une soultion consisterait à pouvoir inverser les dates et les jours!!!!
A voir également:
Besoin d'un expert : Pb de gestion de date VB/excel
pier0
Messages postés67Date d'inscriptionmardi 19 juillet 2005StatutMembreDernière intervention 2 septembre 2005 12 août 2005 à 16:52
Je peux pas convertir les mois en lettre dans le .csv car ya 1 tonne de ligne donc trop long (mon program doit tourner le plus vite possible).
Merci qd mem car c t 1 bonne idée.
Pier0
Vous n’avez pas trouvé la réponse que vous recherchez ?
yela
Messages postés16Date d'inscriptionmercredi 30 octobre 2002StatutMembreDernière intervention 7 août 2007 15 août 2005 à 17:16
Salut,
j'ai eu un problème semblable. J'ai utilisé la fonction 'formatDateTime'.
voici mon exemple avec VBA:
La cellule "A7" affiche 1-08-05, ce qui signifie 1 août 2005.
Dans la barre de formule il m'indique 2005-08-01. Pour avoir le
jour, le mois et l'année j'ai utilisé les formules suivantes.
cs_etniqs
Messages postés201Date d'inscriptionmardi 7 octobre 2003StatutMembreDernière intervention10 mai 2016 12 déc. 2009 à 12:45
attention de pas tout mélanger, une date dans excel n'est qu'un numéro.
après, il ne faut pas mélanger formula et formulalocal et format et formatlocal, le dernier traduisant de l'anglais vers la langue de la machine local.
quoiqu'il en soit months(madate) doit récupérer la bonne valeur du mois...