Bonjour à tous,
J’ai un petit souci que je n’arrive pas à résoudre au sujet assez classique sur les formats de dates :
J’ai un champ qui a ce format, exemple pour le 8 novembre : « 08 11 2023 17:43:21 » et je dois le convertir, dans une macro en « 8-nov »
Comme je suis fainéant j’enregistre la macro en faisant :
- Pour supprimer l’heure je remplace " ??:*", par rien Résultat « 08 11 2023 »
- Je remplace les espaces par des "/", Résultat « 08/11/2023 »
- Mise au format date « jj-mmm » Résultat parfait : « 8-nov »
Dans la macro ceci me donne :
Selection.Replace What:=" ??:*", Replacement:="", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=True
Selection.Replace What:=" ", Replacement:="/", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=True
- Mauvais résultat : « 8-août » les mois et jours sont inversés comme en anglais. J’ai essayé de jouer sur les paramètres régionaux mais rien n’y fait et bien sûr si le jour est supérieur à 12 il ne reconnait pas une date puisqu’il n’y a rien après décembre.
Pourquoi le résultat de la macro est-il différent de ce qui est fait manuellement ?
Me faut-il faire du code pour passer de J/M/A à M/J/A ?
Si une bonne âme avait une piste je serais bien preneur, merci.
J’ai un petit souci que je n’arrive pas à résoudre au sujet assez classique sur les formats de dates :
J’ai un champ qui a ce format, exemple pour le 8 novembre : « 08 11 2023 17:43:21 » et je dois le convertir, dans une macro en « 8-nov »
Comme je suis fainéant j’enregistre la macro en faisant :
- Pour supprimer l’heure je remplace " ??:*", par rien Résultat « 08 11 2023 »
- Je remplace les espaces par des "/", Résultat « 08/11/2023 »
- Mise au format date « jj-mmm » Résultat parfait : « 8-nov »
Dans la macro ceci me donne :
Selection.Replace What:=" ??:*", Replacement:="", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=True
Selection.Replace What:=" ", Replacement:="/", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=True
- Mauvais résultat : « 8-août » les mois et jours sont inversés comme en anglais. J’ai essayé de jouer sur les paramètres régionaux mais rien n’y fait et bien sûr si le jour est supérieur à 12 il ne reconnait pas une date puisqu’il n’y a rien après décembre.
Pourquoi le résultat de la macro est-il différent de ce qui est fait manuellement ?
Me faut-il faire du code pour passer de J/M/A à M/J/A ?
Si une bonne âme avait une piste je serais bien preneur, merci.