Généraliser la conversion de date américaine

Bonjour,

Alors je ne sais pas si mon titre est très explicite mais je vais tenté d'être clair.

J'ai un fichier excel qui comporte des Dates (en tout cas, c'est ce que me dit le format) américaines.

Le problème est qu'Excel n'accepte pas ce type de Date et me les décaler sur la gauche (alors qu'elle devrait être décalées sur la droite).

Lorsque j'inverse moi-même le jour et le mois cela fonctionne et la date se remet sur la droite de la cellule.

Le changement de format (clique droit -> format de cellule) ne modifie rien à mon problème.

Pour illustrer, un screen est visible en piece jointe.

Je m'excuse si ce n'est pas clair. N'hésitez surtout pas à me poser des questions !

Cordialement,

Julien

EDIT : Version 2013 Excel

2016 08 02 11 43 43 export xls excel

Bonjour

si la date est a gauche c'est que excel l’interprète comme du texte et non pas comme une date....

plutôt qu'une image merci de fournir un fichier test en ayant supprimer les données confidentielles

fred

EDIT :

voir sinon ce lien :

https://support.office.com/fr-fr/article/Convertir-les-dates-stock%25C3%25A9es-en-tant-que-texte-en-dates-eae79dde-eda9-46ed-86af-d8a415377b93?ui=fr-FR&rs=fr-FR&ad=FR&fromAR=1

Bonjour,

Merci pour ta réponse répide. Je pensez linker un sujet, mais je ne l'ai pas fait et j'ai du coup pas mit de fichier.

Le voici en tout cas en pièce jointe.

J'ai testé ton lien, mais cela ne fonctionne pas.

Merci encore de ta réponse,

Cordialement,

Julien

RE

j'ai pas trouvé de solution par excel directement..; mais avec une macro toute simple cela le fait ....

Sub date_texte()
Dim i As Long
For i = 1 To Cells(Rows.Count, "B").End(xlUp).Row
Cells(i, "B") = Format(Cells(i, "B"), "mm/dd/yyyy")
Next i
End Sub

voir le résultat appliqué a ton fichier en pièce jointe, j'ai sauvegarder en colonne C l'etat initial

fred

Bonjour,

Une alternative à étudier.

ALT F8 puis exécuter la procédure.

Cdlt.

Public Sub ConvertirDates()
Dim ws As Worksheet
Dim lRows As Long, I As Long
Dim tbl

    Set ws = ActiveSheet
    With ws
        lRows = .Cells(.Rows.Count, 2).End(xlUp).Row
        tbl = .Cells(1, 2).Resize(lRows)
        For I = 1 To UBound(tbl)
            tbl(I, 1) = IIf(tbl(I, 1) = "", "", CDate(tbl(I, 1)))
        Next I
        With .Cells(1, 2).Resize(UBound(tbl), 1)
            .Value = tbl
            .NumberFormat = "m/d/yyyy"
        End With
    End With

    Set ws = Nothing

End Sub

Bonjour Jean-eric

je viens d’apprendre encore un truc.... avec ton

IIf(tbl(I, 1) = "", "", CDate(tbl(I, 1)))

merci

fred

Bonjour,

le problème c'est que tu risques d'avoir des dates qu'excel aura mal interprétées.

Par exemple le 03/04/2016 sera devenu le 04/03/2016 et là c'est trop tard, impossible de connaitre la vraie date.

Il faut intervenir au moment de l'import, tout dépend comment tu procèdes.

eric

Merci pour vos réponses, je test ça demain matin !

Rechercher des sujets similaires à "generaliser conversion date americaine"