Macro Faire ressortir des lignes par date plus récente

Bonjour à tous,

Je sollicite votre aide pour faire ressortir en couleur (peu importe la couleur) certaines lignes dans mon tableau.

Les critères sont que parmis les références de la colonne A identiques, il faudrait que seule la ligne avec la date la plus proche soit en couleur.

Dans un deuxième temps, je voudrai la même chose juste avec les status gagnés.

Merci pour votre aide.

Peka

5test.zip (271.10 Ko)

Bonjour Peka,

Une suggestion en PJ

Bonne journée, Daniel

PS : tu mentionnes une version 2007, mais ton fichier joint est en xls. Tu aurais sans doute intérêt, pour des gains en performance et de taille, à enregistrer ce fichier en xlsx.

PS2 : pour vérifier l'application de la MFC sur la date, le filtre par couleur est sans doute une des solutions des plus rapides, compte tenu du nombre de lignes...

4peka.zip (260.82 Ko)

Bonjour Dan,

Dans ton fichier je vois juste les site "gagné" en couleur via la mise en forme conditionnel.

La recherche est tout autre.

La colonne A contient des références qui sont en doubles, triples ou plus encore.

Pour chaque groupe de référence identique je cherche à mettre en couleur la ligne d'une même référence avec la date la plus proche.

Limite le terme gagné n'est pas important dans un premier temps.

Je remet un fichier test avec le résultat attendu pour les premières.

Cdlt

Peka

4test.zip (271.34 Ko)

Oui, en effet, lecture un peu trop rapide de l'énoncé...

Re bonjour,

quelqu'un aurait juste une macro pour sortir la date la plus récente ?

J'essayerai de me débrouiller avec ça

Merci

Bonjour et bonne année,

Je ne comprends pas tout à la démarche, mais regarde ce fichier.

Cdlt.

10test.xlsb (281.95 Ko)

Bonjour à tous,

A tester :

Option Explicit

Sub test()
Dim rng As Range, i As Long, w(), e
    Set rng = Range("a1").CurrentRegion
    rng.Interior.ColorIndex = -4142
    With CreateObject("Scripting.Dictionary")
        For i = 2 To rng.Rows.Count
            If Not .exists(rng.Cells(i, 1).Value) Then
                .Item(rng.Cells(i, 1).Value) = VBA.Array(rng.Cells(i, 3).Value, i)
            Else
                w = .Item(rng.Cells(i, 1).Value)
                If rng.Cells(i, 3).Value >= w(0) Then
                    w(1) = i
                End If
                .Item(rng.Cells(i, 1).Value) = w
            End If
        Next
        For Each e In .items
            rng.Rows(e(1)).Interior.ColorIndex = 45
        Next
    End With
    Set rng = Nothing
End Sub

klin89

Excellent.

Merci c'est exactement ce que je voulais

Rechercher des sujets similaires à "macro ressortir lignes date recente"