Convertir une date en format de texte non normalisés

Fermé
Alainico Messages postés 1 Date d'inscription vendredi 21 juillet 2017 Statut Membre Dernière intervention 21 juillet 2017 - 21 juil. 2017 à 15:51
 bruno - 21 juil. 2017 à 18:31
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
A voir également:

3 réponses

f894009 Messages postés 17229 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 21 janvier 2025 1 712
21 juil. 2017 à 16:37
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
ccm81 Messages postés 10907 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 janvier 2025 2 429
Modifié le 21 juil. 2017 à 17:37
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
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