Tri ? Aggregation ? regroupement ?

Bonjour, je sollicite votre bienveillance pour m' aider à trouver une solution.

en colonne A d'une Feuille "Data" vient s' accumuler un flux de cotations via un lien DDE, dont voici le code :

Private Const MyLinksName As String = "BMartin604|quote!'6EU2?Last'"

Private Const RecordToSheetName = "Data"

----------------------------------------------------------------------
Sub BeginRecordingUpdates()

ThisWorkbook.SetLinkOnData MyLinksName, "RecordUpdates"

End Sub

---------------------------------------------------------------------------------------
Sub RecordUpdates()

 Dim r As Long

 With ThisWorkbook.Sheets(RecordToSheetName)
 r = Application.WorksheetFunction.CountA(.Columns(1)) + 1
If r > 165535 Then StopRecordingUpdates
.Cells(r, 1).Value = ThisWorkbook.Sheets("DDE_Link").Range("A1").Value

End With
End Sub

---------------------------------------------------------------------------------------------------

Sub StopRecordingUpdates()

ThisWorkbook.SetLinkOnData MyLinksName, ""
End Sub

Je désirerais ne conserver une valeur seulement quand il y a une variation (en + ou -) soit en intervenant à la source sur la macro ci-dessus (si c'est possible) soit en la reportant en colonne B au fur et à mesure, les unes à la suite des autres de façon automatique (ou autrement dit : éliminer les doublons).

Merci encore.

Bonjour,

Une piste :

Sub Valeurs()

    Dim Plage As Range
    Dim I As Long
    Dim J As Long

    With Worksheets("Feuil1")

        'défini la plage en colonne A
        Set Plage = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp))

        'boucle sur la plage en comparant la cellule en cours à la cellule précédente
        '(commence en A2 pour comparer à A1), si différent inscrit en colonne B
        For I = 2 To Plage.Count

            If Plage(I) <> Plage(I - 1) Then

                J = J + 1
                .Cells(J, 2) = Plage(I)

            End If

        Next I

    End With

End Sub

Hervé.

merci pour ta suggestion ,

comme ta macro ne permettait pas d' opérer automatiquement, j' ai intégré ton code dans une macro évènementielle (Private Sub Worksheet_SelectionChange(ByVal Target As Range), ça marche impec mais malheureusement seulement en manuel, aussitôt que je lance l' actualisation via DDE , c'est la pagaille.

Rechercher des sujets similaires à "tri aggregation regroupement"