Excel : comment trier des dates aaaa/mm/jj et aaaa seul ?

Résolu
guypage Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
guypage Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour.
Par une macro, je voudrais trier un tableau sur les dates, mais certaines dates sont de type aaaa/mm/jj , alors que d'autres n'ont que l'année (aaaa), sans jour ni mois !

-Vu que les dates peuvent être antérieures à 1900, je les mets au format Standard.
-Si, dans une ligne, je n'ai que l'année, cette ligne doit se positionner en tête de l'année concernée.
-Je demande une macro car le tableau comporte notamment une colonne "Page" avec déjà une macro de tri ; je veux pouvoir facilement basculer entre ces 2 tris. Ce tri sur les dates n'est donc pas un "one shot" ! ;)

Merci pour votre aide.

GC

NB : je peux fournir un fichier Excel en exemple.
A voir également:

3 réponses

cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
0
guypage Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour Pivert.

Merci pour votre réponse, mais c'est assez confus et me semble répondre de loin à mon problème !
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
-Si, dans une ligne, je n'ai que l'année, cette ligne doit se positionner en tête de l'année concernée.

il suffit d'ajouter /01/01 pour être en tête de l'année concernée

Sub For_X_to_Next_Ligne()
Dim FL1 As Worksheet, NoCol As Integer
Dim NoLig As Long, Var As Variant
    Set FL1 = Worksheets("Feuil1")
    NoCol = 1 'lecture de la colonne 1
    For NoLig = 1 To Split(FL1.UsedRange.Address, "$")(4)
        Var = FL1.Cells(NoLig, NoCol)
       If Len(Var) = 4 Then
       FL1.Cells(NoLig, NoCol) =  FL1.Cells(NoLig, NoCol) & "/01/01"
       End If
    Next
    Set FL1 = Nothing
End Sub


ensuite faire le tri manuellement en se servant de l'enregistreur de macro pour avoir le code

voilà
@+
0
guypage Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour Pivert.

Merci pour votre solution. :)
En passant par une colonne cachée qui se complète comme proposé, je peux garder les dates originelles visibles (aaaa/mm/jj ou simplement aaaa).

Bonne journée

GC
0