Copie de date depuis un fichier .CSV: problème de format
2 réponses
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.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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
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
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.
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.
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.