Problème Format Date Excel suite changement . en /

Résolu/Fermé
ClementN - 11 juin 2020 à 09:30
yg_be Messages postés 23390 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 décembre 2024 - 11 juin 2020 à 10:37
Bonjour à tous,

Je vous explique rapidement, j'extrait des données de SAP sur Excel. Le soucis c'est que, par défaut, SAP m'écrit les dates ainsi : dd.mm.yyyy.

Pour contrer ce problème j'ai rajouter un bout de code au début de ma macro (grâce à l'enregistreur) qui me remplace les "." par des "/" afin de pouvoir utiliser les dates.

'changer les . par des / dans les dates
Workbooks("ecart_inventaire.xls").Worksheets(1).Columns("K:K").Select
Selection.Replace What:=".", Replacement:="/", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Mais voîla, VBA me change certaine date et les passe au format Américain. Je pars par exemple de 08.06.2020 et j'arrive à 06/08/2020. Savez-vous comment contrer ce problème ?

Je vous remercie d'avance et vous souhaite à tous une agréable journée


Configuration: Windows / Chrome 83.0.4103.97
A voir également:

2 réponses

yg_be Messages postés 23390 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 décembre 2024 Ambassadeur 1 556
11 juin 2020 à 09:52
bonjour, tu ne nous montres pas comment tu importes les dates.
je pense que le plus simple, c'est, en VBA, d'utiliser la fonction dateserial(), pendant ou après l'importation.
0
J'ai une macro qui exécute automatiquement une transaction SAP et qui enregistre le fichier excel dans le même dossier que celui avec mes macros. Et donc, par défaut, SAP m'enregistre le fichier avec des "." dans les dates. Donc je ne peux pas toucher au format des dates pendant l'importation, elles arrivent ainsi.

Ce qui est amusant c'est que si je remplace les . par des / "manuellement" le format de la date reste européen mais lorsque c'est la macro qui le fait (alors que j'ai enregistré exactement la même manip) il me remplace certaines dates avec le format américain.

J'ai trouvé une feinte pour pouvoir tout de même manipuler mes dates avec les ".". J'utilise clng(mid(....) ) pour extraire uniquement le mois.

Je vous remercie de votre réponse
0
yg_be Messages postés 23390 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 décembre 2024 1 556
11 juin 2020 à 10:37
peux-tu alors marquer la discussion comme résolue?
0