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 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
    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,

        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