Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

VBA Conversion des dates

6 réponses
Avatar
JeNeVois
Bonjour,
j'aimerais convertir des dates du format "mm.jj.aaaa" en format "jj.mm.aaaa"
et cela fonctionne manuellement avec
"Données…convertir…suivant….suivant….date MJA"
Malheureusement le code de la macro enregistrée n'a pas le même effet et
aucun changement n'est généré avec :
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False,
Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False,
FieldInfo _
:=Array(1, 3), TrailingMinusNumbers:=True

Merci pour toute suggestion

6 réponses

Avatar
Youky
Columns("A:A").NumberFormat = "dd.mm.yy"
For k = 1 To [A65536].End(3).Row
Cells(k, 1) = DateValue(Cells(k, 1))
Next
Je pense que cela doit faire
Youky

"JeNeVois" a écrit dans le message de
news:
Bonjour,
j'aimerais convertir des dates du format "mm.jj.aaaa" en format
"jj.mm.aaaa"

et cela fonctionne manuellement avec
"Données.convertir.suivant..suivant..date MJA"
Malheureusement le code de la macro enregistrée n'a pas le même effet et
aucun changement n'est généré avec :
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:úlse,
Tab:=True, _
Semicolon:úlse, Comma:úlse, Space:úlse, Other:úlse,
FieldInfo _
:=Array(1, 3), TrailingMinusNumbers:=True

Merci pour toute suggestion



Avatar
JeNeVois
Bonjour Youki,

merci, en effet cela fonctionne :-)
Mais comparativement à la conversion manuelle
c'est relativement lent. Heureusement qu'on
perd beaucoup plus de temps ailleurs lol

Salutations et bonne journée !



Columns("A:A").NumberFormat = "dd.mm.yy"
For k = 1 To [A65536].End(3).Row
Cells(k, 1) = DateValue(Cells(k, 1))
Next
Je pense que cela doit faire
Youky

"JeNeVois" a écrit dans le message de
news:
Bonjour,
j'aimerais convertir des dates du format "mm.jj.aaaa" en format
"jj.mm.aaaa"

et cela fonctionne manuellement avec
"Données.convertir.suivant..suivant..date MJA"
Malheureusement le code de la macro enregistrée n'a pas le même effet et
aucun changement n'est généré avec :
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:úlse,
Tab:=True, _
Semicolon:úlse, Comma:úlse, Space:úlse, Other:úlse,
FieldInfo _
:=Array(1, 3), TrailingMinusNumbers:=True

Merci pour toute suggestion








Avatar
j-claude
bonjour youky,

chez moi cette macro marche seulement si au départ "dd" > 12.
ainsi par ex:

06/12/2006 reste 06/12/2006 (mm/dd/yyyy reste mm/dd/yyyy)

alors que 06/13/2006 donne bien 13/06/2006 -(mm/dd/yyyy devient bien
dd/mm/yyyy)

ah, ces dates..=))

j-c.
























































"Youky" a écrit dans le message de news:
44b74e0a$0$858$

Columns("A:A").NumberFormat = "dd.mm.yy"
For k = 1 To [A65536].End(3).Row
Cells(k, 1) = DateValue(Cells(k, 1))
Next
Je pense que cela doit faire
Youky

"JeNeVois" a écrit dans le message de
news:
Bonjour,
j'aimerais convertir des dates du format "mm.jj.aaaa" en format
"jj.mm.aaaa"

et cela fonctionne manuellement avec
"Données.convertir.suivant..suivant..date MJA"
Malheureusement le code de la macro enregistrée n'a pas le même effet et
aucun changement n'est généré avec :
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited,
_
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:úlse,
Tab:=True, _
Semicolon:úlse, Comma:úlse, Space:úlse, Other:úlse,
FieldInfo _
:=Array(1, 3), TrailingMinusNumbers:=True

Merci pour toute suggestion







Avatar
Youky
Salut,
tu as fort raison
Alors voici la rectif.......
For k = 2 To [A65536].end(3).row
ladate = Cells(k, 1)
mois = Left(ladate, 2)
jour = Mid(ladate, 4, 2)
an = Right(ladate, 2)
Cells(k, 1) = jour & "/" & mois & "/" & an
Next
Cela te va Jean Claude
Youky
"j-claude" a écrit dans le message de news:

bonjour youky,

chez moi cette macro marche seulement si au départ "dd" > 12.
ainsi par ex:

06/12/2006 reste 06/12/2006 (mm/dd/yyyy reste mm/dd/yyyy)

alors que 06/13/2006 donne bien 13/06/2006 -(mm/dd/yyyy devient bien
dd/mm/yyyy)

ah, ces dates..=))

j-c.
























































"Youky" a écrit dans le message de news:
44b74e0a$0$858$

Columns("A:A").NumberFormat = "dd.mm.yy"
For k = 1 To [A65536].End(3).Row
Cells(k, 1) = DateValue(Cells(k, 1))
Next
Je pense que cela doit faire
Youky

"JeNeVois" a écrit dans le message
de


news:
Bonjour,
j'aimerais convertir des dates du format "mm.jj.aaaa" en format
"jj.mm.aaaa"

et cela fonctionne manuellement avec
"Données.convertir.suivant..suivant..date MJA"
Malheureusement le code de la macro enregistrée n'a pas le même effet
et



aucun changement n'est généré avec :
Selection.TextToColumns Destination:=Range("A1"),
DataType:=xlDelimited,



_
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:úlse,
Tab:=True, _
Semicolon:úlse, Comma:úlse, Space:úlse, Other:úlse,
FieldInfo _
:=Array(1, 3), TrailingMinusNumbers:=True

Merci pour toute suggestion











Avatar
j-claude
Merci Youki,
pour ta rectif. mais le problème persiste quand "dd"<13 (dans ce cas
seulement "mm" "dd" "yy" ne devient pas "dd" "mm" "yy" )
mais bon , je ne voudrais pas t'embêter avec ces réécritures de macros...

Peut-être un artifice quelque part??

cordialement

j-cl.












"Youky" a écrit dans le message de news:
44b7e6d6$0$1032$
Salut,
tu as fort raison
Alors voici la rectif.......
For k = 2 To [A65536].end(3).row
ladate = Cells(k, 1)
mois = Left(ladate, 2)
jour = Mid(ladate, 4, 2)
an = Right(ladate, 2)
Cells(k, 1) = jour & "/" & mois & "/" & an
Next
Cela te va Jean Claude
Youky
"j-claude" a écrit dans le message de news:

bonjour youky,

chez moi cette macro marche seulement si au départ "dd" > 12.
ainsi par ex:

06/12/2006 reste 06/12/2006 (mm/dd/yyyy reste mm/dd/yyyy)

alors que 06/13/2006 donne bien 13/06/2006 -(mm/dd/yyyy devient bien
dd/mm/yyyy)

ah, ces dates..=))

j-c.
























































"Youky" a écrit dans le message de news:
44b74e0a$0$858$

Columns("A:A").NumberFormat = "dd.mm.yy"
For k = 1 To [A65536].End(3).Row
Cells(k, 1) = DateValue(Cells(k, 1))
Next
Je pense que cela doit faire
Youky

"JeNeVois" a écrit dans le message
de


news:
Bonjour,
j'aimerais convertir des dates du format "mm.jj.aaaa" en format
"jj.mm.aaaa"

et cela fonctionne manuellement avec
"Données.convertir.suivant..suivant..date MJA"
Malheureusement le code de la macro enregistrée n'a pas le même effet
et



aucun changement n'est généré avec :
Selection.TextToColumns Destination:=Range("A1"),
DataType:=xlDelimited,



_
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:úlse,
Tab:=True, _
Semicolon:úlse, Comma:úlse, Space:úlse, Other:úlse,
FieldInfo _
:=Array(1, 3), TrailingMinusNumbers:=True

Merci pour toute suggestion















Avatar
Youky
la macro prend la cellule en "mm/dd/yy"
et la retourne en "dd/mm/yy" ) la colonne A est censé être à l'Anglaise
la date de 10/11/06 peut être interpretée des 2 facons Laquelle.?
je parts du principe que toutes les dates sont en même format, à l'Anglaise
Youky

"j-claude" a écrit dans le message de news:

Merci Youki,
pour ta rectif. mais le problème persiste quand "dd"<13 (dans ce cas
seulement "mm" "dd" "yy" ne devient pas "dd" "mm" "yy" )
mais bon , je ne voudrais pas t'embêter avec ces réécritures de
macros...


Peut-être un artifice quelque part??

cordialement

j-cl.












"Youky" a écrit dans le message de news:
44b7e6d6$0$1032$
Salut,
tu as fort raison
Alors voici la rectif.......
For k = 2 To [A65536].end(3).row
ladate = Cells(k, 1)
mois = Left(ladate, 2)
jour = Mid(ladate, 4, 2)
an = Right(ladate, 2)
Cells(k, 1) = jour & "/" & mois & "/" & an
Next
Cela te va Jean Claude
Youky
"j-claude" a écrit dans le message de news:

bonjour youky,

chez moi cette macro marche seulement si au départ "dd" > 12.
ainsi par ex:

06/12/2006 reste 06/12/2006 (mm/dd/yyyy reste mm/dd/yyyy)

alors que 06/13/2006 donne bien 13/06/2006 -(mm/dd/yyyy devient bien
dd/mm/yyyy)

ah, ces dates..=))

j-c.
























































"Youky" a écrit dans le message de news:
44b74e0a$0$858$

Columns("A:A").NumberFormat = "dd.mm.yy"
For k = 1 To [A65536].End(3).Row
Cells(k, 1) = DateValue(Cells(k, 1))
Next
Je pense que cela doit faire
Youky

"JeNeVois" a écrit dans le
message




de
news:
Bonjour,
j'aimerais convertir des dates du format "mm.jj.aaaa" en format
"jj.mm.aaaa"

et cela fonctionne manuellement avec
"Données.convertir.suivant..suivant..date MJA"
Malheureusement le code de la macro enregistrée n'a pas le même
effet





et
aucun changement n'est généré avec :
Selection.TextToColumns Destination:=Range("A1"),
DataType:=xlDelimited,



_
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:úlse,
Tab:=True, _
Semicolon:úlse, Comma:úlse, Space:úlse, Other:úlse,
FieldInfo _
:=Array(1, 3), TrailingMinusNumbers:=True

Merci pour toute suggestion