Transformer date du tableau

bonsoir, les champions d' excel,

qui pourrais me donner la bonne formule pour transformer une date "10-may-1740" en 10 05 1740 en respectant une colonne pour jour mois année je mets un fichier modele (sauf erreur de manip)

merci d'avance de votre precieuse aide

fabrice

19date.xlsx (9.81 Ko)

Bonsoir,

Ton fichier en retour.

Si ok, n'oublie pas de cloturer le fil en cliquant sur le V vert.

Amicalement

Edit Dan : Plus simple. En C2, on peut mettre cette formule à la place de celle présente dans le fichier --> =DROITE(D2;4)

20date-v2.zip (5.16 Ko)
Dan a écrit :

Bonsoir,

Ton fichier en retour.

Si ok, n'oublie pas de cloturer le fil en cliquant sur le V vert.

Amicalement

Edit Dan : Plus simple. En C2, on peut mettre cette formule à la place de celle présente dans le fichier --> =DROITE(D2;4)

merci DAn de votre aide , mais je souhaite remplacer les mois en lettre en chiffre

j'avais deja recu en utilisant Droite et gauche

merci encore

fabrice

Bonjour à tous,

Une solution VBA

Sub LaDate()
Dim Lg&, cL%, i&, T, x
'Macro par Claude Dubois pour "genbu" Excel-Pratique le 14/10/10
    T = Time
        Application.ScreenUpdating = False
    Lg = Range("d65536").End(xlUp).Row 'à régler pour 200000 lignes
    cL = Cells.Find("*", , , , xlByColumns, xlPrevious).Column
        If Cells(1, cL) <> "date + 2000 ans" Then
            cL = cL + 1
            Cells(1, cL) = "date + 2000 ans"
        End If
        On Error Resume Next
    For i = 2 To Lg
        x = Split(Trim(Cells(i, "d")), "-")
        Cells(i, cL) = x(0) & "/" & x(1) & "/" & x(2) + 2000
        Cells(i, 1) = x(0)
        Cells(i, 2) = Month(Cells(i, cL))
        Cells(i, 3) = x(2)
        Range(Cells(i, 1), Cells(i, 2)).NumberFormat = "00"
    Next i
        MsgBox ("temps macro = " & Format(Time - T, "hh:mm:ss"))
End Sub

Amicalement

Claude

12genbu-date.zip (17.26 Ko)
dubois a écrit :

Bonjour à tous,

Une solution VBA

Sub LaDate()
Dim Lg&, cL%, i&, T, x
'Macro par Claude Dubois pour "genbu" Excel-Pratique le 14/10/10
    T = Time
        Application.ScreenUpdating = False
    Lg = Range("d65536").End(xlUp).Row 'à régler pour 200000 lignes
    cL = Cells.Find("*", , , , xlByColumns, xlPrevious).Column
        If Cells(1, cL) <> "date + 2000 ans" Then
            cL = cL + 1
            Cells(1, cL) = "date + 2000 ans"
        End If
        On Error Resume Next
    For i = 2 To Lg
        x = Split(Trim(Cells(i, "d")), "-")
        Cells(i, cL) = x(0) & "/" & x(1) & "/" & x(2) + 2000
        Cells(i, 1) = x(0)
        Cells(i, 2) = Month(Cells(i, cL))
        Cells(i, 3) = x(2)
        Range(Cells(i, 1), Cells(i, 2)).NumberFormat = "00"
    Next i
        MsgBox ("temps macro = " & Format(Time - T, "hh:mm:ss"))
End Sub

Amicalement

Claude

merci claude de votre aide

super sympa

fabrice

re,

pour les messages, utilise "Répondre" plutôt que "Citer"

Tu nous diras le temps de traitement pour les 140000 lignes

et n'oublies pas de modifier cette ligne pour Excel 2007

Lg = Range("d65536").End(xlUp).Row 'à régler pour 200000 lignes

Claude

merci des conseils d'utilisation du forum

fab

Rechercher des sujets similaires à "transformer date tableau"