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 SubJe 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 SubHervé.
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.