Convertir une date en format de texte non normalisés

Bonjour le Forum,
je voudrais convertir dans Excel 2007 des dates exportées en format de texte se présentant en 10516 correspondant au 01 mai 2016 en 01/05/16 ou encore 110516 correspondant au 11/05/15.
merci

3 réponses

  1. Bonjour,

    A adapter:

    Sub conversion_date()
        Dim S1, S2, Plage, n
        
        With Worksheets("feuil1")
            derlig = .Range("A" & Rows.Count).End(xlUp).Row     'derniere cellule non vide colonne A
            Plage = .Range("A1:A" & derlig)     'mise en memoire plage de cellules colonne A
            'boucle sur table Plage
            For n = 1 To derlig
                If Len(Plage(n, 1)) < 6 Then        'de j=1 a 9
                    S1 = 1: S2 = 2
                Else        'de j=10 a fin mois
                    S1 = 2: S2 = 3
                End If
                'ecriture en colonne B, a modifier pour ecrire dans meme colonne
                .Range("B" & n) = CDate(Left(Plage(n, 1), S1) & "/" & Mid(Plage(n, 1), S2, 2) & "/" & Right(Plage(n, 1), 2))
            Next n
        End With
    End Sub
    1
    1. Bonjour à tous les deux

      ta "date" en A2, la formule en B2
      =DATE(2000+DROITE(A2;2)*1;STXT(A2;NBCAR(A2)-3;2)*1;GAUCHE(A2;NBCAR(A2)-4)*1)

      RQ. Si l'année est inférieure à 2000, il faudra faire quelque chose

      Cdlmnt
      0
      1. Bonjour Alain,

        Cette formule retourne une date en tant que texte :

        =GAUCHE(DROITE("0" & A1;6);2) & "/" & STXT(A1;NBCAR(A1)-3;2)
        & "/20" & DROITE(A1;2)

        ---------------------------------

        Cette formule retourne une date en tant que date :

        =DATE(20 & DROITE(A1;2);STXT(A1;NBCAR(A1)-3;2);
        GAUCHE(DROITE("0" & A1;6);2))

        ---------------------------------

        ⚠  Chaque formule ci-dessus doit être saisie
        sur une seule ligne.

        À toi de choisir celle que tu préfères.  ;)
         
        0