XL 2016 Changement de Date Automatique

Rhoakith

XLDnaute Nouveau
Bonjour, je me suis mit a VBA récemment et je suis tomber dans une impasse. À chaque jour je sort un rapport pour mes commande 8 semaine dans le passer. Le système que j'utilise sort le rapport avec les date en anglais du style 03-MAY-2020 et c'est la que ça commence a bloquer.

J'ai commence par utiliser le code suivant pour faire remplacer MAY par MAI:

Dim A As Variant
Dim B As Variant
A = "MAY"
B = "MAI"
Columns("A:A").Replace what:=A, replacement:=B, lookat:=xlPart, MatchCase:=False, ReplaceFormat:=False

Cette partie fonctionne, mais ça fait en sorte que la case deviens du texte et il impossible de le rechanger en format date(du moins le système le comprend plus). Je me suis donc dit que c'est le texte que je change qu'il n'aime pas donc je l'ai essayer en le remplacant par le # du mois

Dim A As Variant
Dim B As Variant
A = "MAY"
B = "5"
Columns("A:A").Replace what:=A, replacement:=B, lookat:=xlPart, MatchCase:=False, ReplaceFormat:=False

La par contre ça fonctionne !!! Si seulement.... La date ce transforme en 5-mars-2020. Donc si je change le MAY(le mois) pour un #, il prend le # et considère que c'est le jour et non le mois que je place. J'essaye de penser a d'autre alternative, mais comme je début je suis asser limiter dans les option que je connais.

Merci d'avance pour votre aide!
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Mettre vos cellules au format personnalisé : [$-en-GB] j mmmm aaaa

Ou :
capture.png


Cordialement
 
Dernière édition:

Rhoakith

XLDnaute Nouveau
j'ai essayer les 2 façons que vous m'avez dit de faire, mais la cellule reste toujours
3-MAY-2020 22:00
Et n'est toujours pas considérer comme une date.

J'avais oublier de mentionner que le système me sort la date avec une heure. (l'heure m'est inutile).

ce qui est étrange c'est que quand je passe par REMPLACER TOUT de ctrl+F les dates ce place sans problème, mais quand je passe par VBA rien de fonctionne alors que c'est les même chose qui sont remplacer.
 
Dernière édition:

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Ce que je vous ai donné n'est valable QUE pour des valeurs de date.
Mais je crois que j'ai compris à l'envers. Vous voulez aller de l'anglais vers le français ! Si oui, et sur des valeur de dates vous pouvez choisir le format de date française dans la liste des formats disponibles.
Ce qui vous donnera un format personnalisé : [$-fr-FR] j mmmm aaaa

N'oubliez pas qu'une date n'est qu'une simple valeur numérique, affichée de différentes façon suivant le format qu'on souhaite.

Alors si vos dates d'origines sont vraiment des dates (valeurs numériques) alors vous devriez pouvoir en faire ce que vous voulez.

Si ce sont des textes, essayez d'utiliser la fonction VBA : LaDate = DateValue(replace("03-May-2020","May","Mai")) en faisant une boucle sur vos cellules des dates d'origine (bon exercice d'apprentissage).

Cordialement

[Edit] au fait! bienvenue sur le forum. N'oubliez pas que vous pouvez joindre un classeur exemple.
 

Discussions similaires

Réponses
12
Affichages
541

Statistiques des forums

Discussions
311 730
Messages
2 081 991
Membres
101 856
dernier inscrit
Marina40