Problème Format Date Excel suite changement . en / [Résolu]

Signaler
-
Messages postés
12338
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 septembre 2020
-
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

2 réponses

Messages postés
12338
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 septembre 2020
694
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.
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
Messages postés
12338
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 septembre 2020
694
peux-tu alors marquer la discussion comme résolue?