Copie de date depuis un fichier .CSV: problème de format
Le
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.
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
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