format date et tri

cloclo57

XLDnaute Junior
Bonjour le forum
J'ai un petit soucis de tri de date.
En telechargeant du net mes releves bancaires , je vient de
m'apercevoir que les date sont afficher sous le format suivant

"15/11/2008" il y a toujours des guillemets avant et apres la date , ce qui m'enpeche de faire un tri par date

Aves vous des idées a ce sujet

Merci d'avance de vos reponses A+
 
G

Guest

Guest
Re : format date et tri

Cloclo57, CB, 13GIBE,Lio,

Solution rapide
Tu sélectionnes ta colonne de dates puis menu donnée/convertir, à l'étape 3 de l'assistant tu choisis Date Dans format des données en colonne.

A+

[Edition] Hello JC,:D
 

JCGL

XLDnaute Barbatruc
Re : format date et tri

Bonjour à tous,

Essaye :

Code:
Columns("A:A").Replace What:="=", Replacement:="", LookAt:=xlPart
Columns("A:A").Replace What:="""", Replacement:="", LookAt:=xlPart

A+

Edition : Ce n'est qu'une expression mon cher Lio... Et tes Cuisses et autres Volailles... A++
 
Dernière édition:
G

Guest

Guest
Re : format date et tri

Re,

Une autre proposition qui fait le tri en même temps:

Code:
Sub triDates()
    Dim plage As Range
    Dim c As Range
    With Feuil1
        Set plage = .Range(.Range("A4"), .Range("A" & .Rows.Count).End(xlUp))
    End With
    plage.Copy
    plage.PasteSpecial xlPasteValues
    Application.CutCopyMode = False
    Set plage = plage.Resize(, 5)
    plage.Sort Key1:=plage.Cells(1, 1), order1:=xlAscending
End Sub

A+
 
G

Guest

Guest
Re : format date et tri

Hello CB,

T'as raison,

Alors avec un mélange de solution de JC,

J'ai rajouté la boucle for parce que même avec le .Replace, certaines dates conservaient leur format texte.

Code:
Sub triDates()
    Dim plage As Range
    Dim c As Range
    With Feuil1
        Set plage = .Range(.Range("A4"), .Range("A" & .Rows.Count).End(xlUp))
    End With
    plage.Replace What:="=", Replacement:="", LookAt:=xlPart
    plage.Replace What:="""", Replacement:="", LookAt:=xlPart
    For Each c In plage
       If IsDate(c.Text) Then c = DateValue(c.Text)
    Next c
    Set plage = plage.Resize(, 5)
    Debug.Print plage.Address
    plage.Sort Key1:=plage.Range("A1"), Order1:=xlAscending
End Sub

A+
 

Discussions similaires

Réponses
3
Affichages
368

Statistiques des forums

Discussions
312 594
Messages
2 090 088
Membres
104 371
dernier inscrit
Momo6767