Date anglais vers français [Fermé]

Signaler
-
Messages postés
17248
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
16 octobre 2020
-
Bonjour,

Tout d'abord pardon s'il s'agit d'un doublon cependant je n'ai pas trouvé de réponse à mon problème sur d'autres posts/sujets

Voilà, j'ai un fichier dont certaines dates sont en anglais
Sous la Forme "01-DEC-2011" par exemple.
Cependant lorsque je change le format de mes cellules vers un format date.
Certains mois ne sont pas convertis car les mois sont en anglais

FEB doit devenir Févr
APR doit devenir AvR
MAY doit devenir MAi
AUG doit devenir AUoût
DEC doit devenir DéC

lorsque je modifie manuellement ça fonctionne.

Auriez-vous une astuce ou un code VBA pour les convertir ? en effet j'ai plus
de 60 fichiers contenant chacun environs 400 dates

Merci de votre aide

Cordialement

Remy

2 réponses

Messages postés
17248
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
16 octobre 2020
4 289
Bonjour,

essaye comme cela pour une date format Anglais Feb-1-2017 saisie en A2

=(INDEX({1;2;3;4;5;6;7;8;9;10;11;12};EQUIV(GAUCHE(A2;TROUVE("-";A2)-1);{"Jan";"Feb";"Mar";"Apr";"May";"Jun";"Jul";"Aug";"Sep";"Oct";"Nov";"Dec"};0))&"/"&DROITE(A2;NBCAR(A2)-TROUVE("-";A2)))*1

ou avec CHERCHE
=(INDEX({1;2;3;4;5;6;7;8;9;10;11;12};EQUIV(GAUCHE(A2;CHERCHE("-";A2)-1);{"Jan";"Feb";"Mar";"Apr";"May";"Jun";"Jul";"Aug";"Sep";"Oct";"Nov";"Dec"};0))&"/"&DROITE(A2;NBCAR(A2)-CHERCHE("-";A2)))*1


par contre si ton format est 01-DEC-2011

=DATE(DROITE(A2;NBCAR(A2)-TROUVE("-";A2;TROUVE("-";A2)+1));(INDEX({1;2;3;4;5;6;7;8;9;10;11;12};EQUIV(STXT(A2;TROUVE("-";A2)+1;TROUVE("-";A2;TROUVE("-";A2)+1)-TROUVE("-";A2)-1);{"Jan";"Feb";"Mar";"Apr";"May";"Jun";"Jul";"Aug";"Sep";"Oct";"Nov";"Dec"};0)))*1;GAUCHE(A2;TROUVE("-";A2)-1))

ensuite tu formates tes cellule dans le format souhaité

A+
Mike-31

Je suis responsable de ce que je dis, pas de ce que tu comprends...
Hello,

Merci pour ta réponse rapide.
cela fonctionne avec ton format qui est FEB-1-2011 cependant ça ne fonctionne pas avec le format "01-FEB-2011" de ce fait il faut maintenant inverser les jours et les mois.

Merci encore


Remy
J'ai crée une macro avec l'enregistreur qui utilise un control+H
ça fonctionne mais ce n'est pas optimal.

Merci pour votre aide

Remy
Messages postés
17248
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
16 octobre 2020
4 289
Re,

tu n'as pas testé mon dernier code qui prévoit cette saisie
=DATE(DROITE(A2;NBCAR(A2)-TROUVE("-";A2;TROUVE("-";A2)+1));(INDEX({1;2;3;4;5;6;7;8;9;10;11;12};EQUIV(STXT(A2;TROUVE("-";A2)+1;TROUVE("-";A2;TROUVE("-";A2)+1)-TROUVE("-";A2)-1);{"Jan";"Feb";"Mar";"Apr";"May";"Jun";"Jul";"Aug";"Sep";"Oct";"Nov";"Dec"};0)))*1;GAUCHE(A2;TROUVE("-";A2)-1))