Format de date

P

philippe13

Guest
Bonsoir à tous

J'ai un souçis relatif au format de date. Je reçois des fichiers excel avec des dates dont le format est différent.
La finalité est d'obtenir une date au format "jj/mm/aa". Jusque là pas de problème tant que la date rencontrée est présentée dans des formats "français" du style "15-AVR-2004"
Mais il m'arrive de recevoir des fichiers au format " "15-APR-2004" (donc en anglais) et la, complications.
Bien sûr manuellement je peux remplacer APR par AVR et ensuite j'obtiens le format que je désire.
MAis j'aimerais avoir un code VBA me permettant de faire cette transformation, sachant que parfois j'ai le format anglais, parfois le format français.
QUelqu'un peut-il m'aider.
En espérant avoir été assez explicite dans ma demande.
Merci par avance
Philippe
 
A

andré

Guest
Salut philippe13,

J'ai essayé ceci :

Par le correcteur d'ortographe je demande de remplacer APR par AVR
Lorsque j'encode 15-APR-2004 dans une cellule mise préalablement au format jj/mm/aa, la validation me renvoie 15/04/04.

Je ne sais pas si cela fonctionne pour une donnée existante, mais peut-être qu'en faisant un copier / coller le même résultat pourrait être obtenu, ou bien simp)lement sélectionner la cellule, puis valider.

Tiens-moi au courant et si cela ne va pas, mets un petit exemple en pièce jointe, car je ne peux pas reproduire les mêmes circonstances que les tiennes.

Ândré.
 
P

Philippe13

Guest
Bonjour à tous,

Bonjour André,

Comme tu le verras sur le fichier joint (vraiment basique) mauellement j'arrive à faire les transformations en sélectionnant la colonne désirée et en utilsant REMPLACER par exemple APR par AVR et MAY par MAI et..... En suite je mets ma colonne au format personnalisé jj/mm/aa et ça fonctionne.

Le problème c'est qu'en général mes date en anglais ne couvrent pas toujours bien sûr les mêmes mois de l'année. Aussi pour éviter chaques fois de faire cette transformation manuellement, j'ai voulu réaliser une macro que j'enregistre. Et quand je la lance, ca ne va plus.

Regarde et dis moi , ou peut être faut il mettre un autre code dans la macro?
Merci déjà de t'être occupé de mon cas

Philippe13
 

Pièces jointes

  • ESSAIDATE.zip
    8 KB · Affichages: 12
  • ESSAIDATE.zip
    8 KB · Affichages: 9
  • ESSAIDATE.zip
    8 KB · Affichages: 11
P

Philippe13

Guest
Bonjour à tous

J'ai peut-être trouvé un début de solution avec cette macro.
Quand mes dates sont en anglais du type "15-APR-04" ma macro marche.
Mon problème c'est que parfois je reçois des fichiers avec la date en français du type "15-AVR-04", et la bien sûr la macro bloque.
Que faudrait-il rajouté dans ce code pour que mes dates qu'elles soient en français ou en anglais se retrouvent au format "jj/mm/aa", sans que j'ai a regardé le format et faire un choix de macro.
Merci pour aide
Philippe13

Public Sub dat()
Dim cel As Range
For Each cel In Range("G2:G" & Range("G65536").End(xlUp).Row)
cel.Value = Mid(cel.Value, 1, 2) & "/" & Mid(cel.Value, 4, 3) & "/" & Mid(cel.Value, 8, 2)
cel.Value = DateValue(cel.Value)
Next cel
Columns("G:G").Select
Selection.NumberFormat = "dd/mm/yy"
End Sub
 

Discussions similaires

Réponses
6
Affichages
340

Statistiques des forums

Discussions
312 417
Messages
2 088 251
Membres
103 788
dernier inscrit
yassine arfi