Copie de date depuis un fichier .CSV: problème de format

2 réponses
Avatar
Fred G.
Bonjour.

J'ai le problème suivant que je ne parvient pas à résoudre, sous
excell 2003fr:

Dans la feuille active, je lance une macro qui:

ouvre un fichiers .csv
copie une plage de cellule
reviens dans la feuille de départ
colle les cellules à une position donnée

Le tous plusiers fois sur différentes plages de cellules puis
fermeture du .CSV

Problème: plusieurs des plage des cellules copiées sont des dates au
format jj/mm/aaaa.Lors du "Coller", les dates dont le jour du mois est
<= 12 sont transformées en mm/jj/aa

exemple: une cellule source qui contient 11/12/2012 (11 décembre 2012)
dans le fichier .csv devient une fois collée 12/11/12, et excel
m'affiche 12 novembre 12 au lieu de 11 décembre 2012

Si le jourdu mois dans la cellule source est >12, la date collée reste
correcte.

Quand je fais les différentes étapes à la main, pas de problème, tout
fonctionne.

Quand j'enregistre une macro, en faisant *exactement* les mêmes
étapes, ca ne fonctionne pas pour les dates (problème d'inversion).

Quelqu'un a-t-il une explication ou une idée pour résoudre ce problème
qui n'apparait que quand je fais les différentes étapes avec une
macro.

Salutations cordiales.
Fred G.

2 réponses

Avatar
jeanluc.laurent
Le samedi 29 décembre 2012 17:19:33 UTC+1, Fred G. a écrit :
Bonjour.



J'ai le problème suivant que je ne parvient pas à résoudre, sous

excell 2003fr:



Dans la feuille active, je lance une macro qui:



ouvre un fichiers .csv

copie une plage de cellule

reviens dans la feuille de départ

colle les cellules à une position donnée



Le tous plusiers fois sur différentes plages de cellules puis

fermeture du .CSV



Problème: plusieurs des plage des cellules copiées sont des dates au

format jj/mm/aaaa.Lors du "Coller", les dates dont le jour du mois est

<= 12 sont transformées en mm/jj/aa



exemple: une cellule source qui contient 11/12/2012 (11 décembre 2012)

dans le fichier .csv devient une fois collée 12/11/12, et excel

m'affiche 12 novembre 12 au lieu de 11 décembre 2012



Si le jourdu mois dans la cellule source est >12, la date collée reste

correcte.



Quand je fais les différentes étapes à la main, pas de problème, tout

fonctionne.



Quand j'enregistre une macro, en faisant *exactement* les mêmes

étapes, ca ne fonctionne pas pour les dates (problème d'inversion).



Quelqu'un a-t-il une explication ou une idée pour résoudre ce probl ème

qui n'apparait que quand je fais les différentes étapes avec une

macro.



Salutations cordiales.

Fred G.



amha, en vba les dates passent à un autre format.
essaie d'eclater ta date en trois chant var=split(lechampsducsv,"/")
ensuite colle dans ta cellule :
Cells(1,1) = Application.Worksheetfunction.date(var(2);var(1);var(0))
ou quelque chose dans le style
Attention aux fautes d'ortographes :p
Avatar
DanielCo
Bonjour,
Exécute la macro suivante :

Sub test3()
For Each C In ActiveSheet.UsedRange
If C <> "" Then
If IsDate(C.Value) Then
Var = C.Address
If C.NumberFormat = "General" Then
Tabl = Split(C.Value, "/")
C.Value = DateSerial(Tabl(2), Tabl(0), Tabl(1))
C.NumberFormat = "dd/mm/yyyy"
End If
End If
End If
Next C
End Sub

Daniel


Bonjour.

J'ai le problème suivant que je ne parvient pas à résoudre, sous
excell 2003fr:

Dans la feuille active, je lance une macro qui:

ouvre un fichiers .csv
copie une plage de cellule
reviens dans la feuille de départ
colle les cellules à une position donnée

Le tous plusiers fois sur différentes plages de cellules puis
fermeture du .CSV

Problème: plusieurs des plage des cellules copiées sont des dates au
format jj/mm/aaaa.Lors du "Coller", les dates dont le jour du mois est
<= 12 sont transformées en mm/jj/aa

exemple: une cellule source qui contient 11/12/2012 (11 décembre 2012)
dans le fichier .csv devient une fois collée 12/11/12, et excel
m'affiche 12 novembre 12 au lieu de 11 décembre 2012

Si le jourdu mois dans la cellule source est >12, la date collée reste
correcte.

Quand je fais les différentes étapes à la main, pas de problème, tout
fonctionne.

Quand j'enregistre une macro, en faisant *exactement* les mêmes
étapes, ca ne fonctionne pas pour les dates (problème d'inversion).

Quelqu'un a-t-il une explication ou une idée pour résoudre ce problème
qui n'apparait que quand je fais les différentes étapes avec une
macro.

Salutations cordiales.
Fred G.