XL 2016 [Résolu] Convertir date au format texte mm.dd.yyyy en date au format JJ/MM/AAAA

Fredox

XLDnaute Occasionnel
Bonjour à tous,
J'importe une feuille depuis un fichier externe, et je rencontre une problématique de format de date.
Dans ma feuille importée j'ai des dates type 15.01.2021, au format texte.
Je voudrais les utiliser au format date: 08/01/2021.

J'ai tenter de remplacer le . par des / mais la conversion donne 01/08/2021
(Bizarrement si je le fais manuellement (Crt+F), le format reste bon.

Bref, comment convertir la date en ce sens ?


Merci
 

patricktoulon

XLDnaute Barbatruc
bonjour
si tes dates sont conformes a l'original importé te reste plus qu'a faire en vba
exemple
feuil1.[A1]=datevalue([A1].text
sa sera converti en date
il est possible que tu te retrouve avec un nombre du genre 486521
pas d'inquiétude c'est le long de la date
formate ta colonne au format date
 

patricktoulon

XLDnaute Barbatruc
re
ok elle étai donc conforme; juste en format texte
essaie simplement ceci
VB:
With Worksheets(1): .Range("C3") = DateValue(.Range("C3").text): End With
l'avantage de datevalue par rapport a date serial c'est que datevalue reconnais 3 formats de date et te la restitue au format utilisé par ton system
si ta date arrive en "dd/mm/yyyy" mais en texte
si ta date arrive en "yyyy/mm/jj"
si tadate arrive en 'mm/jj/yyyy"

elle te sera toujours restituée en dd/mm/yyyy et en date pas en texte
 
Dernière édition:

patricktoulon

XLDnaute Barbatruc
re
ben c'est normal
deja tes dates n'ont pas le bon séparateur
bon enfin bref
voici ta macro
VB:
Sub Test3()    ' en boucle
    Dim DL&, i&
    With Worksheets(1)
        DL = .Range("C" & Rows.Count).End(xlUp).Row
        If DL < 2 Then DL = 2
        For i = 2 To DL
            .Range("R" & i) = DateValue(Replace(.Range("C" & i), ".", "/"))
        Next
    End With
End Sub
;)
 

Discussions similaires

Statistiques des forums

Discussions
311 726
Messages
2 081 955
Membres
101 852
dernier inscrit
dthi16088